Jquery 404将ajax请求移出document.ready时出错
有人能告诉我为什么那个代码不起作用吗 这是第一个jquery移动页面中的Jquery 404将ajax请求移出document.ready时出错,jquery,jquery-mobile,Jquery,Jquery Mobile,有人能告诉我为什么那个代码不起作用吗 这是第一个jquery移动页面中的js代码: function finish() { var selectedRowsVal = []; jQuery("input:checked").each(function(){ selectedRowsVal.push(jQuery(this).val()); }); if(selectedRowsVa
js
代码:
function finish() {
var selectedRowsVal = [];
jQuery("input:checked").each(function(){
selectedRowsVal.push(jQuery(this).val());
});
if(selectedRowsVal.length === 0){
alert(111);
}else{alert(selectedRowsVal.length);
jQuery.ajax({
url: "../Login",
data: {selectedRows: 1},
method: 'post',
error: function(XMLHttpRequest, textStatus, errorThrown){
alert('status:' + XMLHttpRequest.status + ', status text: ' + XMLHttpRequest.statusText);
},
success: function(data){}
});
}
}
<div data-role="footer" data-position="fixed" data-theme="b">
<div data-role="navbar" dir="rtl">
<ul>
<li><a href="#" onclick="finish();" data-role="button">finsh</a></li>
<li><a href="#" data-role="button">send to many</a></li>
<li><a href="#" data-role="button">send</a></li>
</ul>
</div><!-- /navbar -->
</div><!-- /footer -->
这是在另一个jQuery移动页面中调用finish函数:
function finish() {
var selectedRowsVal = [];
jQuery("input:checked").each(function(){
selectedRowsVal.push(jQuery(this).val());
});
if(selectedRowsVal.length === 0){
alert(111);
}else{alert(selectedRowsVal.length);
jQuery.ajax({
url: "../Login",
data: {selectedRows: 1},
method: 'post',
error: function(XMLHttpRequest, textStatus, errorThrown){
alert('status:' + XMLHttpRequest.status + ', status text: ' + XMLHttpRequest.statusText);
},
success: function(data){}
});
}
}
<div data-role="footer" data-position="fixed" data-theme="b">
<div data-role="navbar" dir="rtl">
<ul>
<li><a href="#" onclick="finish();" data-role="button">finsh</a></li>
<li><a href="#" data-role="button">send to many</a></li>
<li><a href="#" data-role="button">send</a></li>
</ul>
</div><!-- /navbar -->
</div><!-- /footer -->
ajax回调显示的错误是
404未找到
,当我将jQuery.ajax的代码放入jQuery(文档)中时。第一页(索引页)就绪,它工作正常。我不能100%确定这会解决您的问题,但据我所知,$.ajax()
函数没有名为方法
的选项。但是,有一个类型
选项,该选项应按照您在代码中设置的方法
进行设置:
jQuery.ajax({
url : "../Login",
data : { selectedRows: 1 },
type : 'post',
error : function(XMLHttpRequest, textStatus, errorThrown){
alert('status:' + XMLHttpRequest.status + ', status text: ' + XMLHttpRequest.statusText);
},
success : function(data){}
});
从文件中:
类型
默认值:“获取”
请求的类型(“发布”或
“GET”),默认值为“GET”。注意:其他HTTP请求方法,例如
此处也可以使用PUT和DELETE,但不支持它们
所有浏览器
来源:错误404表示找不到您的url(“../Login”)。@rontornanbe我知道这一点,但正如我在问题中所说的:当我从jquery(文档)调用时。在同一jquery mobile首页中就绪,它可以正常工作,当我将jquery.ajax移动到onReady函数之外的任何位置时,它失败。您正在使用相对定位“./”,那么它可能是一个错误的文件引用。您可以通过完全限定url并执行测试来测试这一假设。为什么要在文档之外准备一个ajax请求?这有点违背ajax的目的。@rontornanbe“./”工作正常。我对它进行了广泛的测试,我确信这是可以的