我试图显示我得到的json并在ajax的成功函数中解析它。
到目前为止我所拥有的:
的Ajax:
data = "Title=" + $("#Title").val() + "&geography=" + $("#geography").val();
alert(data);
url= "/portal/getResults.php";
$.ajax({
url: url,
type: "POST",
//pass the data
data: data,
dataType: 'json',
cache: false,
//success
success: function(data) {
alert(data);
}
});
getResults.php(JSON输出):
{
"results": [
{
"DocId": 2204,
"Title": "Lorem ipsum dolor sit amet, consectetur",
"Locations": [
{
"State": "New York",
"City": ""
},
{
"State": "New York",
"City": "New York City"
}
],
"Topics": [
3,
7,
11
],
"PublicationYear": "2011",
"Organization": "New Yorks Times",
"WebLocation": "www.google.com",
"Description": "Lorem Ipsum"
}
],
"TotalMatches": 1
}
我希望数据中的结果是来自getResults.php的json,而是得到[object Object]。
我也尝试过以下代码,但没有得到回应:
success: function(data) {
var json1 = JSON.parse(data);
alert(json1);
}
答案 0 :(得分:1)
因为你告诉jQuery你想要dataType:'json'
,所以ajax函数会将JSON响应解析为一个对象。您看到的结果对象应该是一个对象,其数据与您服务器的JSON响应相匹配。如果您需要字符串版本,请尝试JSON.stringify()
,否则您可以按原样使用该对象:data['results'][0]['DocId']
等
答案 1 :(得分:0)
以下是您的请求示例:http://jsfiddle.net/5y5ea98n/
var echo = function(dataPass) {
$.ajax({
type: "POST",
url: "/echo/json/",
data: dataPass,
cache: false,
success: function(json) {
alert(JSON.stringify(json));
}
});
};
$('.list').live('click', function() {
$.get("http://www.json-generator.com/api/json/get/bQxORzxQGG?indent=2", function(data) {
var json = {
json: JSON.stringify(data),
delay: 1
};
echo(json);
});
});
答案 2 :(得分:0)
我尝试了一些与此相关的代码并且它成功运行。
function ajaxToParseJson(){
AUI().use('aui-io-request', function(A){
A.io.request('${jsonAjaxURL}', {
dataType:'json',
method: 'post',
data: {
execute: 'JsonLogic',
numberVal:'Pass Json String Here if needed from Screen'
},
on: {
success: function()
{
var empName = this.get('responseData').name;
var id = this.get('responseData').id;
console.log("Name: "+empName);
console.log("Id: "+id);
/** Since return type of this function is bydefault Json it will return Json still if you want to check string below is the way**/
var data = JSON.stringify(this.get('responseData'));
alert(data);
}
}
});
});
}
我有一个带有两个字段id,name。的员工类。