[英]Get javascript object from ajax request
如何從AJAX響應創建javascript對象?
這就是我目前正在做的事情:
PHP:
<?
echo '{status:"1", site:"example.com"}';
?>
JS:
success:function(data_response){
var object = eval( data_response );
console.log(object.url);
}});
我目前正在控制台上“未定義”。 這是怎么做到的?
將ajax請求的dataType
設置為json
, data_response
將是已解析為的對象。
或者您也可以使用$.getJSON
。
你也可以嘗試這樣的事情:
PHP
<?
echo json_encode(array("status"=>1,"site"=>"example.com"));
?>
Ajax用JS中的params調用這里
$.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);
}
});
而不是制作自己的json表示法使用內置於json_encode
php
<?php
return json_encode(array('status' => '1', 'site' => 'example.com'));
?>
你也記錄了object.url
但它應該是object.site
。
您可能還需要設置標題以返回application/json
而不是text/html
。 這也可以通過在json
AJAX請求中指定dataType
類型參數來完成
如果要使用eval
解析原始對象字符串,則必須將對象表示法代碼包裝在parens中:
var object = eval( '(' + data_response + ')' );
以下將阻塞解析器:
eval('{status:"1", site:"example.com"}')
但這將按預期工作:
eval('({status:"1", site:"example.com"})')
編輯:請注意,我不一定認可這個解決方案。 這只是讓你了解如果你要使用eval
需要什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.