0

私は奇妙な状況にいます。次の方法を使用して、(基本認証を実行する) ノード サーバーに 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」と書いてあれば成功です。)

4

1 に答える 1