在document.ready之外移动ajax请求时出现404错误

时间:2012-01-09 20:06:55

标签: jquery jquery-mobile

任何人都可以告诉我为什么代码不起作用。

这是第一个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){}
            });
          }
        }

这是在另一个jQuery移动页面中调用finish函数:

<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 not found,当我将jQuery.ajax的代码放在第一页(索引页)的jQuery(document).ready中时,它工作正常。

1 个答案:

答案 0 :(得分:0)

我不是100%确定这会解决您的问题,但据我所知,method函数没有名为$.ajax()的选项。但是,如果您在代码中设置type,则应设置method选项:

         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'

     

要求的类型(“POST”或   “GET”),默认为“GET”。注意:其他HTTP请求方法,例如   PUT和DELETE也可以在这里使用,但它们不受支持   所有浏览器。

来源:http://api.jquery.com/jquery.ajax/