AJAX呼び出しで、以下のサンプルのように、テキストボックス値をオブジェクトとしてASP.NETページメソッドに送信しています。要求は試行のほぼ90%に失敗しクライアントがAJAX呼び出しの不正なホストヘッダーを送信しました
Bad Request
Your browser sent a request that this server could not understand.Client sent malformed Host header
私はdata: JSON.stringify(obj)
を使用していますが:私が直面してる問題は、テキストボックスの値のいずれかがspace
が含まれている場合、私はエラーを取得するということです。しかし、すべてのテキストボックスの値がspace
でなければ、要求は毎回完了します。それを理解しようとしていますが、問題を捉えることはできません。上記のコードは、開発システム上ではなく、製造上の問題なく動作します
var obj = {};
obj.CapCode = $.trim($('#CapTextBox').val());
obj.Registered_Name = $.trim($('#Registered_NameTextBox').val()).replace(/\s\s+/g, ' ');
obj.eMail = $.trim($('#e_MailTextBox').val());
$.ajax({
type: "POST",
url: 'Register.aspx/SaveRecord',
data: JSON.stringify(obj),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (resultData) {
try {
$("#User_modal").modal();
}
catch (err) {
alert('ERROR:\n An error occurred while getting records. Try again.');
}
},
error: function (x, e, m) {
errorHandler(x, e, m, $("#btnSave"), false);
},
});
は
あなたはそれを理解しましたか? – dmeu
いいえ、ほとんどすべて、フロントエンド、バックエンド、サーバーログ、ページのロードなどを確認しましたが、解決策はありません。私はそれがテンプレートで使われているjquery/bootstrapプラグインによって引き起こされるかもしれないとは思っていません。テストのために、私はすべてのテンプレートcss、jsファイル、およびajaxを削除し、成功したレコードをサーバーに保存しようとしました。 – haraman
私は '+'をスペースで置き換え、もう一方はサーバー側で置き換えました – dmeu