Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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字符串,并获取它';用JavaScript实现s值_Javascript_Ajax_Json_Evaluation - Fatal编程技术网

使用JavaScript计算JSON字符串,并获取它';用JavaScript实现s值

使用JavaScript计算JSON字符串,并获取它';用JavaScript实现s值,javascript,ajax,json,evaluation,Javascript,Ajax,Json,Evaluation,我有这个案例(我的服务器返回的JSON字符串): 但是,当使用这种请求时,我会将该响应作为“字符串”得到: 带有:警报(类型(可用用户))我将得到:字符串从类型返回值 执行此操作时: window.eval(可用用户)它不会按预期对JavaScript对象求值 如何将有效的JSON响应(using,async:false)转换为JavaScript可访问对象,或者如何正确计算从服务器返回的字符串 谢谢 尝试将请求的内容类型设置为application/json 阅读更多信息:为什么不在回调中获取

我有这个案例(我的服务器返回的JSON字符串):

但是,当使用这种请求时,我会将该响应作为“字符串”得到:

带有:
警报(类型(可用用户))我将得到:
字符串
类型
返回值

执行此操作时:

window.eval(可用用户)它不会按预期对JavaScript对象求值

如何将有效的JSON响应(using,async:false)转换为JavaScript可访问对象,或者如何正确计算从服务器返回的字符串


谢谢

尝试将请求的内容类型设置为application/json
阅读更多信息:

为什么不在回调中获取JSON对象?检查
success
设置

$.ajax({
     url: absPath + '/users/findUsers',
     type: 'POST',
     data: {contents: $('#messageTo').val()},
     dataType: 'json',
     success: function(data){
         var availableUsers = data;
         alert(typeof availableUsers);
     },
     async: false 
});

通过回调,您可以对从服务器获得的对象执行任何您想执行的操作。

检查从请求返回给/users/findusers的内容类型标头可能重复的内容类型是否有不在此处使用
成功
回调的原因?即使使用
async:true
,这也可能是a)更清晰,b)更可能实现您所期望的。我不认为jQuery的自动JSON解析会在
.responseText
中起作用。您可以使用
jQuery.parseJSON
?我的availableUsers是一个全局变量,我需要它在$.ajax({})!$下的匿名函数之外。parseJSON帮了大忙;)@突击队:然后移除
var
。但老实说,您不应该使用同步请求。在大多数情况下不需要它们。
var availableUsers = $.ajax({
    url: absPath + '/users/findUsers',
    type: 'POST',
    data: {contents: $('#messageTo').val()},
    dataType: 'json',
    async: false
}).responseText;
$.ajax({
     url: absPath + '/users/findUsers',
     type: 'POST',
     data: {contents: $('#messageTo').val()},
     dataType: 'json',
     success: function(data){
         var availableUsers = data;
         alert(typeof availableUsers);
     },
     async: false 
});