私は必要なすべての名前と値のペアを含むajaxリクエスト(投稿)を介してフォームを送信するGreasemonkeyスクリプトを持っています。リクエストに対する応答がありますが、ページに投稿されたデータへの応答は含まれていません。たとえば、サーバーは価格、重量などのデータで応答する必要がありますが、ajaxリクエストで名前の値のペアが表示されていないかのようです。jQueryの問題ajaxのポストがaspページにデータを送信しない
私はFirebugのAjaxポストパラメータをAjax呼び出しで調べています。通常のページ送信時のポストパラメータとまったく同じです。このサイトでは、ユーザー名/ pwでログインする必要がありますが、ログインするとクッキーの状態が保持されているようです。 Ajax呼び出しが動作する理由は、Ajax要求で特定のCookieをサーバーに送信しないためですか? ajaxリクエストで送信されたクッキーを見ると、通常のページ送信で送信されたクッキーと同じです。 1つだけがHttpOnlyとしてリストされます。違いがあるかどうかは分かりません。
私は過去にこの問題を抱えていませんでした。なぜこれを動作させることができないのか理解していないのです。
// ==UserScript==
// @name test
// @description test
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @include *http://extranet.alliancels.net/ordering/ebusiness/Pricing.aspx*
// ==/UserScript==
jQuery.ajax({
url: 'http://extranet.alliancels.net/ordering/ebusiness/Pricing.aspx',
data: '__EVENTTARGET=&__EVENTARGUMENT=&__SCROLLPOSITIONX=0&__SCROLLPOSITIONY=0&__VIEWSTATE='+encodeURIComponent(jQuery('#__VIEWSTATE').val())+'&ctl00$ContentPlaceHolder1$txtQuantity=1&ctl00_ContentPlaceHolder1_txtPartNumber=70367301P&ctl00_ContentPlaceHolder1_btnSubmit=Submit',
type: 'POST',
async: false,
cache: false,
success: function(data){
}
});
私は成功コールバックに何もないことを知っています、私はちょうど火かき棒の応答を見ています。
編集:私はこれを試してみましたが、それはまだ
// ==UserScript==
// @name test
// @description test
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @include *http://extranet.alliancels.net/ordering/ebusiness/Pricing.aspx*
// ==/UserScript==
jQuery('#ctl00_ContentPlaceHolder1_txtPartNumber').val('70367301P');
var form_data = $('#aspnetForm').serialize();
jQuery.ajax({
url: 'http://extranet.alliancels.net/ordering/ebusiness/Pricing.aspx',
data: form_data,
type: 'POST',
async: false,
cache: false,
processData: false,
success: function(data){
}
});
このリクエストは、元のドメインと同じですか? – Jasper
はい、@includeで見ることができるように、彼はajax呼び出しと同じURLです。 – user357034
ページが複数の投稿をサーバーに送信する可能性はありますか?つまり、* state *チェックを使用していますか? ...また、私たちは本当にその質問から多くを伝えることはできません。フォームHTMLと関連するJSを投稿してください。 –