Jquery 404将ajax请求移出document.ready时出错

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

有人能告诉我为什么那个代码不起作用吗

这是第一个jquery移动页面中的
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“./”工作正常。我对它进行了广泛的测试,我确信这是可以的