PHP
<?php
header("Content-type: application/json") ;
echo json_encode(array("reply" => "SOME_TEXT")) ;
?>
它回应了这个 - &gt;
{"reply":"SOME_TEXT"}
的Javascript
<script>
$.get("script.php" , function(data) {
var reply = JSON.parse(data) ;
}) ;
</script>
JS抛出unexpected token in JSON
。但是如果我用PHP代码替换标题,那么它将正常工作(&#34;内容类型:text / javascript&#34;)或&#34; text / plain&# 34;
答案 0 :(得分:6)
如果标头设置为application/json
,jQuery会自动解析数据,因此您尝试解析对象。如果标题设置为JSON.parse
,则可以在没有application/json
的情况下使用它:
$.get("script.php" , function(data) {
console.log(data.reply);
}) ;
正如@charlietft评论的那样,
使用$ .getJSON()而不是$ .get()也可以确保它被解析