家伙! 这是我的问题。我有一个选择,使用jquery ajax post更改价格范围。问题是,偶尔没有特定的触发器,后置操作失败,我得到404错误,(在200多个OK之后)。你之前遇到过这样的事情吗?这可能与代码有关或只是服务器问题? 这是js函数:
function changePriceRange(event_id,elem){
alert('pr'+elem.val());
var data =
{
event_id:event_id,
prange:elem.val(),
event_name:$('#event_name').val(),
event_date:$('#event_date3').val()
}
if(event_id==0){
var my_url = base_url+'change_prange_new';
}else{
var my_url = base_url+'change_prange';
}
var request =
{
url:my_url,
type:'POST',
data:data,
success:function(response)
{
$('#section3_items').html(response);
}
}
$.ajax(request);
//update gifts section
var data2 =
{
event_id:event_id,
prange:elem.val()
}
var request2 =
{
url:base_url+'update_gifts_section',
type:'POST',
data:data2,
success:function(response)
{
$('#gifts_section').html(response);
}
}
$.ajax(request2);
}
..并且在update_gifts_section上发生了404错误。谢谢..
答案 0 :(得分:0)
您需要了解有关错误的更多信息。 404表示找不到页面,因此base_url
出现问题?例如,它有时是空的吗?
您要做的最好的事情是添加一个故障回调,以便您知道ajax调用何时失败。这将帮助您找出问题所在:
var request2 =
{
url:base_url+'update_gifts_section',
type:'POST',
data:data2,
success:function(response)
{
$('#gifts_section').html(response);
}
error: function(xhr,err){
alert('failure');
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
alert("responseText: "+xhr.responseText); {
}
}
答案 1 :(得分:0)
当服务器回复代码404时,表示找不到与请求的URL对应的文档。
在关于“更新礼品”的ajax调用中,您将URL指定为
url:base_url+'update_gifts_section'
如果base_url是一个静态变量(意味着相对于某段代码没有改变),那么URL总是相同的。如果请求获得HTTP200而另一个请求获得HTTP404,则表示问题基于服务器而不是代码。 (这基本上是你的问题)。
要解决此问题,请添加有关如何调用此方法的更多详细信息,调用哪个url(使用fiddler等进行观察)会很有帮助。
答案 2 :(得分:0)
我只是更新你的代码以便更好看......
function changePriceRange(event_id,elem){
alert('pr'+elem.val());
var my_url = (!event_id) ? base_url+'change_prange_new' : base_url+'change_prange';
jQuery.ajax({
type:'POST',
url:my_url,
data:({
event_id:event_id,
prange:elem.val(),
event_name:jQuery('#event_name').val(),
event_date:jQuery('#event_date3').val()
}),
success:function(response)
{
jQuery('#section3_items').html(response);
},
error: function(xhr,err){
alert('failure');
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
alert("responseText: "+xhr.responseText);
}
});
//update gifts section
jQuery.ajax({
type:'POST',
url:base_url+'update_gifts_section',
data:({
event_id:event_id,
prange:elem.val()
}),
success:function(response){
jQuery('#gifts_section').html(response);
},
error: function(xhr,err){
alert('failure');
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
alert("responseText: "+xhr.responseText);
},
statusCode: {
404: function() {alert('page not found');}
}
});
}