誰かがそのコードが機能しない理由を教えてもらえますか?document.readyの外でajaxリクエストを移動すると404エラーが発生する
この最初の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のモバイルページでフィニッシュ関数の呼び出しです:
<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の最初のページ(インデックスページ)に入れても問題ありません。
エラー404はあなたのURL( "../Login")見つからないことを示しています。 –
@rontornambe私はそれを知っていましたが、私が質問したように:私がjquery(document).readyから同じjqueryモバイルの最初のページで呼び出すと、うまくいきます。 onReady関数が失敗する – aomar
相対的な位置付け "../"を使用しているため、不正なファイル参照になる可能性があります。この仮説をテストするには、URLを完全に修飾し、テストを実行します。 –