我在前端视图中使用Reactjs,在后端使用Rails,我在这两个问题上都是新的,我通过Ajax在删除和编辑操作上得到了一个404找不到的结果。下面是我的部分代码,希望它会有所帮助:Customer.js.jsx var Customer=react.createClass({getInitialState:function(){return{edit:false};},
handleToggle: function(e) {
e.preventDefault();
this.setState({ edit: !this.state.edit });
},
handleDelete: function(e) {
e.preventDefault();
$.ajax({
method: 'DELETE',
url: '/customers/' + this.props.customer.id,
dataType: 'json',
success: function() {
this.props.handleDeleteCustomer(this.props.customer)
}.bind(this)
});
},
handleEdit: function(e) {
e.preventDefault();
var data = { name: React.findDOMNode(this.refs.name).value,
lastname: React.findDOMNode(this.refs.lastname).value,
mobile: React.findDOMNode(this.refs.mobile).value,
phone: React.findDOMNode(this.refs.phone).value,
email: React.findDOMNode(this.refs.email).value,
address: React.findDOMNode(this.refs.address).value,
zip: React.findDOMNode(this.refs.zip).value,
city: React.findDOMNode(this.refs.city).value,
state: React.findDOMNode(this.refs.state).value}
$.ajax({
method: 'PUT',
url: '/customers/' + this.props.customer.id,
dataType: 'json',
data: { customer: data },
success: function(data) {
this.setState({ edit: false });
this.props.handleEditCustomer(this.props.customer, data);
}.bind(this)
});
},
customerRow: function() {
return(
<tr>
<td>{this.props.customer.name}</td>
<td>{this.props.customer.lastname}</td>
<td>{this.props.customer.mobile}</td>
<td>{this.props.customer.phone}</td>
<td>{this.props.customer.email}</td>
<td>{this.props.customer.address}</td>
<td>{this.props.customer.city}</td>
<td>{this.props.customer.zip}</td>
<td>{this.props.customer.state}</td>
<td>
<a className='btn btn-default' onClick={this.handleToggle}>
Edit
</a>
<a className='btn btn-danger' onClick={this.handleDelete}>
Delete
</a>
</td>
</tr>
);
},...there is more.
以下是我的控制器:
class CustomersController < ApplicationController
before_action :set_customer, only: [:update, :destroy]
def index
@customers = Customer.all
end
def create
@customer = Customer.new(customer_params)
if @customer.save
render json: @customer
else
render json: @customer.errors, status: :unprocessable_entity
end
end
end
def update
if @customer.update(customer_params)
render json: @customer
else
render json: @customer.errors, status: :unprocessable_entity
end
end
def destroy
@customer.destroy
head :no_content
end
private
def customer_params
params.require(:customer).permit(:name, :lastname, :mobile, :phone, :email, :address, :zip, :city, :state)
end
def set_customer
@customer = Customer.find(params[:id])
end
以下是当我按下删除按钮时,服务器日志中的内容:[15007]127.0.0.1-[10/nov/2015:17:01:26-0400]“delete/Customers/1 HTTP/1.1”404 194 70 0.1995
以下是控制台日志:DELETE http://localhost:3000/customers/1 404(未找到)XHR完成加载:DELETE“http://localhost:3000/customers/1”
正如我们在注释中讨论的那样,CustomersController
实际上在Create
方法之后结束,因此Update
、Destroy
、Customer_Params
和Set_Customer
方法都不属于CustomersController
方法。因此,在create
方法之后将第三个end
移动到文件的末尾应该可以解决这个问题。您的控制器应该如下所示:
class CustomersController < ApplicationController
before_action :set_customer, only: [:update, :destroy]
def index
@customers = Customer.all
end
def create
@customer = Customer.new(customer_params)
if @customer.save
render json: @customer
else
render json: @customer.errors, status: :unprocessable_entity
end
end
# note that there was a third end here
def update
if @customer.update(customer_params)
render json: @customer
else
render json: @customer.errors, status: :unprocessable_entity
end
end
def destroy
@customer.destroy
head :no_content
end
private
def customer_params
params.require(:customer).permit(:name, :lastname, :mobile, :phone, :email, :address, :zip, :city, :state)
end
def set_customer
@customer = Customer.find(params[:id])
end
end # end moved to here
我有一个带有Spring Boot的简单微服务应用程序,我尝试添加Spring云网关服务,但它不起作用。所有的微服务,包括Eureka服务器,都工作得很好,但当我尝试使用网关路由访问某些微服务时,它找不到微服务。 ApiGateway pom。xml API网关应用程序。yml公司 API网关主 Api网关未找到404错误
1.将我的文件上载到000webhost。我将公用文件夹中的所有文件放置到public_html,然后创建了一个名为laravel的文件夹,并在那里上载了所有其他文件。这是我的目录结构: 拉拉维尔 应用程序 引导 配置 .... 公共网页 index.html ...... 2.在我的索引中。php文件,我已经更改了一些内容 > 需要目录。'//laravel/引导/自动加载。php′; $app
我一直从中得到: “404未找到-未找到”。 在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写,然后再试一次。我肯定有一个愚蠢的错误,我是python新手,我花了几个小时试图理解这个问题。 我的代码: 注册格式为: 我确认我可以直接联系http://127.0.0.1:5000/register. 在调试模式下运行应用程序,这就是我得到的: 使用stat重新启动 调试器处于活动状态
我有一个php文件在家里。php 我在localhost上的url是 我想删除从url 所以我创建了文件 但我一直收到这个错误 在此服务器上找不到请求的URL/photo/home。
我在服务器上上传了我的网站,我的网站运行良好。但我有个问题。 当我从路由转到路由时,组件也被加载了。但是当我复制我的组件url时,我得到了。 例如,当我复制/粘贴此url时: http://test.shadyab.com/offers/Arya-Ceremonial-Pool-VIP-off 我有一个。 我的路线: 我的应用程序。js: 即使用户想要刷新当前网页,也会收到404错误。 我的服务器
我在服务器上部署了laravel项目,收到以下错误: 我尝试了几乎所有我在网上找到的解决方案。问题保持不变。mod_rewrite启用。我添加了多行httpd.conf和修复DocumentRoot /etc/httpd/conf/httpd。形态 /var/www/html/chatbot/public/htaccess 请注意,当我尝试将DocumentRoot链接到一个新的laravel项目