我使用Jquery对PHP页面进行AJAX调用,该页面使用json_encode函数输出JSON。 此PHP页面也包含javascript代码,它与JSON代码一起发送,导致JSON解析错误。 有办法防止这种情况吗? 非常感谢您的支持。
PHP页面:
<script type="text/javascript">
//javascript needed on this page
</script>
//json output
$data = array('one'=> 'hello', 'two' => 'world');
echo json_encode($data);
答案 0 :(得分:0)
将你的json包装在一个div中,然后成功解析它。
从此:jquery ajax fetch only one div block from other page
这是您的主叫页面:
$.ajax({
url:"page.php",
success:function(data){
var returnData = $(data).find('#dataWrap').text();
}
});
这是你的php页面:
<script>
//Your Code Here
</script>
<div id="dataWrap">
{"Your JSON":"Here"}
</div>
答案 1 :(得分:0)
没有更多细节很难知道,但我认为你的PHP页面有不同的角色,其中一个是由于ajax请求而打印JSON。 我认为你应该只为这个角色打印JSON,为其他角色打印Javascript和Html,使用独占参数区分http响应的类型,使用Accept http header和Content-Type或使用不同的http方法(GET,POST, ...)用于不同的目的(最后你可以阅读有关REST的内容)。