私は奇妙な状況にいます。次の方法を使用して、(基本認証を実行する) ノード サーバーに POST しています。
$.ajax({
type: "POST",
accepts: "text/plain",
url: "http://localhost:3000/somewhere",
data: JSON.stringify(something),
contentType: "application/json; charset=UTF-8",
dataType: "json",
success: function(data) {
window.alert("Received back: '" + data + "'");
},
username: theUsername,
password: "a password"
}).done(function() {
alert( "second success" );
}).fail(function() {
alert( "error" );
}).always(function() {
alert( "finished" );
});
ここで、サーバーが次のように応答すると:
res.writeHead(200, {"Content-Type": "text/plain"});
res.write("1");
res.end();
3 つの警告ウィンドウが表示されます。
- '1' を受け取りました
- 二度目の成功
- 終了した
ただし、サーバーが書き込んでいる文字列に文字を追加すると、たとえば
res.write("1a");
2 つの警告ウィンドウが表示されます。
- エラー
- 終了した
一体なぜ、通常の文字列が実際に 2 番目のケースでエラーを引き起こしているのでしょうか? 何か案は?(ちなみに、サーバーが「1a」ではなく「12」と書いてあれば成功です。)