繁体   English   中英

发送json作为ajax中的数据并获得响应

[英]send json as data in ajax and get response

我想以json的形式请求API并获得响应,并尝试用邮递员进行响应,得到响应:

对API的json请求:

{
"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"
}

我在邮递员那里得到的回应,还可以

{
"status": 200,
"result": {
    "winner": "s",
    "options": {
        "1": "mar",
        "2": "feb",
        "3": "jan",
        "4": "aug"
    },
    "question": "how old are u?",
    "answer": 3
}

}

我的问题是我想发送ajax请求并获得response.i尝试此代码,但没有得到任何响应?

var data = {"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"};
$.ajax({
type:'post',
dataType:'json',
url:'http://207.154.251.233:8039/app_dev.php/question/get',
data:JSON.stringify(data),
success:(function (response) {
alert(response);
})
})

使用以下修改的代码:

var data = {"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"};
$.ajax({
    type:'post',
    dataType:'json',
    url:'http://207.154.251.233:8039/app_dev.php/question/get',
    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
    crossDomain: true,
    data:JSON.stringify(data),
    success:(function (response) {
        alert(response);
    })
});

此外,如果您的脚本从其他主机运行,则必须使用跨源访问权限。 为此,使用

Access-Control-Allow-Origin: http://foo.example 

如果您的应用程序内置于php,请使用:

header("Access-Control-Allow-Origin: *"); 
// or your script's host, e.g http://foo.example instead of "*"

您得到的响应是object类型的,将显示为[object] [object]。 如果要对其发出alert ,则需要JSON.stringify 我建议改用console.log ,它最好用于调试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM