0

我正在使用基本jquery ajax通话。

我在没有输入参数的情况下调用了一个php文件,其中选项数据类型设置为json.

我希望服务器解析php哪个查询mysql数据库中的表,将其转换为array,最后转换encodejsonand return

我通过在字段中复制php文件来尝试从浏览器进行测试调用,它表明它可以工作,因为我可以看到一个空白页,其中包含表格中所有行的格式。urladdressjson

相反,当从我的javascript代码调用时,$.ajax调用失败并出现错误

Requested JSON parse failed

这意味着ajaxcall 是期待的json(因为我将选项数据类型设置为那个)但收到了另一种格式。

所以我尝试从调用中删除数据类型选项,你瞧,我得到了一个响应success,但是我从我的php文件中收到了什么?

好吧,它是文件中的整个代码,就像服务器不解析它一样,因为它认为它是纯文本。

有没有办法解决这个问题?谢谢。

4

3 回答 3

2

还发送带有 json 数据的内容标头

<?php
header('Content-Type: application/json');
echo json_encode($data);
于 2013-07-23T22:14:24.397 回答
1

ajax 函数需要一个 JSON 编码的文档,因此您必须发送一个带有响应的标头,说明响应包含 JSON。像这样的东西:

<?php
    header('Content-Type: application/json');
    // All your code here
    echo json_encode($someArray);
?>
于 2013-07-23T22:19:22.873 回答
0

我是个白痴,我可能会回答我自己的问题,我正在从 Visual Studio 调试 jquery,它会自动启动一个 iis Web 服务器,它解释了为什么它将 php 文件像文本文件一样处理。显然在apache下一切正常。抱歉耽误您的时间......

于 2013-07-24T08:19:32.100 回答