1

我有一个对用户输入发出 ajax 请求的字段,我想用 json 对象响应它。$.getJSON我使用带有 url的jQuery 函数?page=answersearch,但它不起作用。它不是用 json 类型的数据来回答,而是发送 text/html 类型的数据。怎么做?

4

1 回答 1

2

如果您从 AJAX 请求返回一串文本,无论声明的 MIME 类型如何,您都可以使用 jQuery 的 $.parseJSON 函数。

$.ajax({
    url: '/someurl',
    type: 'get',
    data: {
        page: 'answersearch'
    },
    success: function(rsp) {
        if (typeof rsp === 'string') {
            rsp = $.parseJSON(rsp);
        }
        // rsp has been changed from a string into an object.
    }
});

此外,在服务器端,您可能希望设置 Content-Type 标头:

header('Content-Type: text/json')

然而,这不是 100% 必要的。

于 2012-01-23T09:19:21.533 回答