Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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 如何读取JSON字符串[jQuery]_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript 如何读取JSON字符串[jQuery]

Javascript 如何读取JSON字符串[jQuery],javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,Ajax调用 $( "#day").datepicker({ onSelect: function(request) { $.ajax({ type: "POST", url: '${pageContext. request. contextPath}/url.htm', data: JSON.stringify({ id: '${someId}'

Ajax调用

 $( "#day").datepicker({
    onSelect: function(request) {
        $.ajax({
            type: "POST",
            url: '${pageContext. request. contextPath}/url.htm',
            data: JSON.stringify({
                id: '${someId}'
            }),
           dataType: 'json',
            contentType: "application/json;charset=utf-8",
            success: function (response) {
                if(response.b === true) {
                    $("#fruit").val(response.a);
                }
            }
        }).fail(function(xhr, status, error){
            console.log('error:' + status + ':' + error + ':' + xhr.responseText);
        });
    }
    });
来自
ajax
调用的字符串响应如下

{
  "a": "apple",
  "b": true
}
我试着使用
var json=$.parseJSON(response)读取它并且我得到异常
未捕获的语法错误:意外的令牌o

console.log(响应)将控制台上的数据显示为

Object {
  "a": "apple",
  "b": true
}

我想取“a”和“b”的值。如何做到这一点

它已经是JSON格式了。你不需要再解析它了

像这样使用它

  response.a;
  response.b;
选中此项:

var ajaxResult = '{"a":"apple","b": true}';

var json= $.parseJSON(ajaxResult );

console.log(json.a);

请检查它我做了一些改变:)如果有任何疑问,请问我

$( "#day").datepicker({
        onSelect: function(request) {
            $.ajax({
                type: "POST",
                url: '${pageContext. request. contextPath}/url.htm',
                data: JSON.stringify({
                    id: '${someId}'
                }),
                dataType: 'json',
                success: function (response) {
                    if(response['b'] === true) {
                        $("#fruit").val(response['a']);
                    }
                }
            }).fail(function(xhr, status, error){
                console.log('error:' + status + ':' + error + ':' + xhr.responseText);
            });
        }
        });

不需要再次解析它,使用
response.a
response.b
来访问a和b的值
response
似乎不是一个字符串。执行
typeof response
,您将看到它已经是一个根据json响应自动创建的对象,而不是一个字符串。你可以像@PranavRam所说的那样直接访问它的属性。或者,您也可以像这样使用索引器操作符:
response[“a”]
response[“b”]
。共享ajax请求的代码……….设置
数据类型:'json'
与json数据类型,尝试两种形式:
控制台.log(response['d')
console.log(response.d);仍然没有定义