Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery强制GET请求上的字符串响应?_Javascript_Jquery_Json_Get - Fatal编程技术网

Javascript 如何使用jQuery强制GET请求上的字符串响应?

Javascript 如何使用jQuery强制GET请求上的字符串响应?,javascript,jquery,json,get,Javascript,Jquery,Json,Get,我编写了以下代码: $.get('http://example.com/books.json', function (data) { // ... }); books.json是新书的对象列表,有时jQuery将json数据解析为对象,但有时将其保留为字符串(可能是因为一些国际/utf8问题)。在这种情况下,我自己调用JSON.parse()并获得有效的JSON对象 因此,我有一个问题-在使用jQuery执行GET请求时,强制JSON.parse的正确方法是什么?我不想让jQuery猜测它

我编写了以下代码:

$.get('http://example.com/books.json', function (data) {
  // ...
});
books.json
是新书的对象列表,有时jQuery将json数据解析为对象,但有时将其保留为字符串(可能是因为一些国际/utf8问题)。在这种情况下,我自己调用JSON.parse()并获得有效的JSON对象


因此,我有一个问题-在使用jQuery执行GET请求时,强制JSON.parse的正确方法是什么?我不想让jQuery猜测它是否是JSON数据。我怎样才能让jQuery始终认为它是字符串,我将始终自己调用JSON.parse?

我认为最好的方法是使用而不是
$。获取

如果数据参数的值是普通对象,则在将其附加到url之前,会将其转换为字符串并对url进行编码

大多数实现将指定一个成功处理程序:

$.getJSON( 'http://example.com/books.json', function( data ) {

    $.each( data, function( key, val ) {
        console.log('key is : '+key+" AND value is :"+val);
    });

});

$。get
接受可选的
数据类型
参数,您可以指定
文本
,强制它以纯字符串形式返回数据

$.get('http://example.com/books.json', function (data) {
  // ...
}, "text");
否则,它将查看响应中的
内容类型:
标题以确定数据类型


如果您想强制执行JSON解析,可以指定
JSON
,也可以使用
$。getJSON

您在这里发布的代码是有效的,可以使用。api.json文件是否已更改?@michael是的,它是有效的,但问题是有时
数据
是字符串,但有时是json对象。是的,api.json一直在更改。我使用了错误的文件名。实际上是
books.json?period=1day
在我最后一天工作的图书馆里得到了书籍的更改。我将更新问题。我现在更新了问题。我不想让jQuery猜测它是否是JSON数据。我怎样才能使jQuery始终认为它是字符串,并且我将始终自己调用JSON.parse?我再次更新了问题标题和内容。感谢您的回复。与.getJSON相反的是什么?我想强制使用字符串并自己调用JSON.parse。不客气,很抱歉我不能真正理解您想要实现的内容,如果答案没有帮助,请告诉我,我将删除它,谢谢。@bodacydo您的问题是“强制使用JSON.parse的正确方法是什么?”“,这就是这个答案所提供的。现在你的要求似乎正好相反。