0

次のコードでjQueryajax呼び出しがあります。

var dataString = 'title=' + title;
alert ('datastring: ' + dataString); // This reports the correct value

$.ajax({
type: 'POST',
url: 'script.php',
data: dataString,
cache: false,
success: function(newTableID) {
    alert ('newTableID: ' + newTableID);
    // Do some stuff with the ID
},
error: function(response) {
    alert('failed: ' + response); 
            // The above displays "failed: [object Object]"
}
});

phpスクリプトに何が含まれているかは関係ありませんが、同じ結果が得られます。ajax呼び出しのエラー部分のアラートには、「failed:[objectObject]」というメッセージボックスが表示されます。私はphpスクリプトで単純なエコーを試しました-このajax呼び出しからphpスクリプトがまったく実行されていないと思います。

スクリプトのURLは正しいです-jsファイルとscript.phpファイルは同じフォルダーにあります。

誰かが私がここで見逃しているかもしれないものに光を当てることができますか?

ありがとう。

4

3 に答える 3

1

あなたが失敗を受け取った場合、それはあなたscript.phpが利用できないためです。console.log(response)代わりに使用してみるとalert()、FirefoxまたはChromeのデバッグツールを使用して変数に何が含まれているかを確認できます。

于 2013-01-15T23:45:51.430 に答える
0

errorコールバックにはオブジェクトが渡されていますが、表示alert()できるのは文字列のみです。いくつかの魔法の場合を除いて、JSでオブジェクトを文字列に変換すると「[オブジェクトオブジェクト]」が得られます。

console.logの代わりにを使用してみてくださいalert。これにより、ブラウザのデバッグコンソール(通常はF12で呼び出されます)にオブジェクトの構造が表示されます。

また、コンソール(またはFirebugをインストールした場合)には、ネットワークの要求と応答を示すパネルが表示され、エラーが発生した理由がわかります。

于 2013-01-15T23:50:50.930 に答える
0

=の代わりに:を配置する必要があります

var dataString = 'title:' + title;
于 2019-04-08T15:27:37.860 に答える