これは本当に私の心を揺さぶっています。私はajaxからエラーコールバックを取得します。しかし、エラーメッセージからres.responseText(正しい、btwに戻ってくる)を取り出して使用すると、正しいことが実行されます。ちょうど私が成功コールバックを受け取ったかのように。readystate 4、ステータス200、statustext okでエラーを返すjquery ajaxコール
データは次のように設定されている:
var dataToSend = {fieldname : textdata};
とAjaxの呼び出しは、このようなものです:
var ajaxOptions = {
url: '/newpage',
data: JSON.stringify(dataToSend),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
cache: false,
processData: false,
type: 'POST',
success: function(res) {
console.log("success!");
$('#' + divname).html(res);
},
error: function(res) {
console.log("There was an error: " + JSON.stringify(res));
$('#' + divname).html(res.responseText);
}
};
$.ajax(ajaxOptions);
エラーメッセージは次のとおりです。エラーが発生しました:{"readyState":4,"responseText" [this part is perfectly fine], "status":200, "statusText":"OK"}
。
'dataType: 'json'、'これはソースからの応答です。あなたが打つソースがjsonを結果として生み出していることを確認できますか?それを取り除いた後で試してみてください。 – Jai
はあなたがtext/html ....を返すように見えるので、エラーはおそらくjson解析エラーです。 'dataType: 'json''を削除してください。実際に返されたものを表示する – charlietfl
@Jai - それは良い推測でした!私は自分のデータベースのJSONデータに型を変更しましたが、私はまだ同じエラーが発生します。 – lynvie