私のWebページのボタンクリックイベントでjQuery.ajaxコールがあります。このajax呼び出しは、かなり多くのマークアップをサーバーに戻します。いくつかの処理の後、サーバーは小さなURLアドレスをポストバックします。これはうまく動作しますが、他の時はうまく動作しません。私はajax呼び出しの直前にブレークポイントを持ち、WebMethodにもいくつか持っています。時にはWebMethodがヒットしないこともあります。jQuery.ajaxコールでC#WebMethodが呼び出されないことがあります
.ajax呼び出しが失敗する原因は何ですか?私は送信しているパラメータに何かがなければならないと仮定しています。しかし、私はescape
マークアップしています。
誰でもアイデアがありますか?私はあなたがこのようなあなたの方法を書き換えることをお勧めし
$.ajax({
type: 'POST',
url: 'WebServices.asmx/GetBitmapPathForVML',
contentType: 'application/json; charset=utf-8',
data: '{"sVML" : "' + escape($('#divChart')[0].innerHTML) +
'","width" : 800,"height": 600}',
dataType: 'json',
success: function(result) {
var newWindow = window.open ("", "Chart","");
//blah blah
newWindow.document.write("<BODY>");
newWindow.document.write(
'<img src="file" alt="Chart"></img>'.replace('file',result.d)
);
newWindow.document.write("</BODY>");
//blah blah
}
});
このメソッドに何も(null)を投稿しないと、他の方法でサービスにアクセスできますか? – dexter
jQuery ajaxの "error"と "timeout"オプションを確認してください。また、Webサービスを呼び出す方法にいくつかの問題がある場合は、クライアントからスクリプトエラーを取得する必要があります。 –
@マックスはい私はそうだと思う –