$.getJSON
関数の応答が意味をなさないJQuery/JSONの問題に頭を悩ませています。
これが私のJavascriptコードの抜粋です:
var jqxhr = $.getJSON("myPHPFunction.php", function() {
alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
PHP関数によって返されるJSONは次のとおりです。
{"sid":"12", "name":"somename", "email":"someemail"}
フルレスポンス:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body> {"sid":"12", "name":"somename", "email":"someemail"}
</body>
</html>
スクリプトを実行すると、「。」というダイアログボックスが表示されますerror
。
いくつかのオンラインバリデーターは、JSONが構文的に正しいと報告しています。では、なぜJQueryは失敗するのでしょうか。phpとスクリプトの両方が同じフォルダー(サーバー上)と同じドメインにあることに注意してください。