从ajax请求获取javascript对象
如何从AJAX响应创建javascript对象 这就是我目前正在做的: PHP:从ajax请求获取javascript对象,javascript,jquery,Javascript,Jquery,如何从AJAX响应创建javascript对象 这就是我目前正在做的: PHP: 我目前在控制台上得到“未定义”。如何做到这一点?使用php内置的json\u编码,而不是使用自己的json符号 <?php return json_encode(array('status' => '1', 'site' => 'example.com')); ?> 您也正在记录object.url,但它应该是object.site 您可能还需要将标题设置为返回applicat
我目前在控制台上得到“未定义”。如何做到这一点?使用php内置的
json\u编码,而不是使用自己的json符号
<?php
return json_encode(array('status' => '1', 'site' => 'example.com'));
?>
您也正在记录object.url
,但它应该是object.site
您可能还需要将标题设置为返回application/json
,而不是text/html
。这也可以通过将AJAX请求中的dataType
type参数指定为json来实现,将AJAX请求的dataType
设置为json
,并且data\u响应将是一个已经解析到的对象
或者您也可以使用$.getJSON
。您也可以尝试以下方法:
PHP
如果要使用eval
解析原始对象字符串,则必须将对象符号代码包装在括号中:
var object = eval( '(' + data_response + ')' );
以下内容将阻塞解析器:
eval('{status:"1", site:"example.com"}')
但这将如您所期望的那样起作用:
eval('({status:"1", site:"example.com"})')
编辑:请注意,我不一定赞同此解决方案。这只是为了让您了解在使用eval
时需要什么
$.ajax({
url: url, // your url where the php is
dataType: 'json',
data: data, //send data
//callback
success: function(data_response){
alert(data_response.status);
alert(data_response.site);
}
});
var object = eval( '(' + data_response + ')' );
eval('{status:"1", site:"example.com"}')
eval('({status:"1", site:"example.com"})')