jqueryを使用してクロスドメインリクエストを作成しようとしました。jsonpのクロスドメインリクエストレスポンスで解析中にnullが返される
<?php
header('Access-Control-Allow-Origin: *');
header('Expires: ' . gmdate('r', 0));
header('Content-type: application/json');
session_cache_limiter('nocache');
$arr = array ('response'=>'success','comment'=>'test comment here','type'=>$_GET['type']);
echo json_encode($arr);
?>
をしかし、私は、要求/応答プロセスを完了したときに私は何も持っていない:これは、クライアント側の意志が、のように見える
<script src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type: 'GET',
url: "http://www.xserver.com/xdomainhandler.php",
processData: true,
data: {
type:"gotohell"
},
dataType: "json",
success: function (data) {
myglob=data;
var repo=JSON.parse(myglob);
alert(repo.type);
},
error : function(XMLHttpRequest, textStatus, errorThrown){
alert('ends up in error state');
}
});
});
</script>
と、この要求を受けたサーバーのページのコードは次のようになります方法です'repo'変数。私は放火犯を使用して応答をチェックし、それはのような応答を示し、
{"response":"success","comment":"test comment here","type":"gotohell"}
また、私は、それが示して放火犯のDOMパネルにmyglob変数を確認
Object { response="success", comment="test comment here", type="gotohell"}
が、私はにmyglobを解析されたときレポ、それは何も表示されません..どこが間違っている。誰かが私を助けることができます。ありがとう!
ありがとうございます。私はそれを持っているので、jsonとしてデータ型を設定すると、自動的に解析されます。 – VKGS
@Sekarはい、データ型を設定しない場合、jQueryはヘッダーから推測しようとしますが、jsonが推測すると解析するので、応答を解析しないでください。 –
きちんとした答え。 – VKGS