将json作为数据发送到ajax并获得响应

时间:2017-10-15 16:57:36

标签: javascript jquery json postman

我想以json的身份申请API并获得回复,我和邮递员一起尝试了,我得到了回应:

json对API的请求:

{
"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);
})
})

2 个答案:

答案 0 :(得分:0)

使用此修改后的代码:

entrypoint: gunicorn -b :$PORT mysite.wsgi

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

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);
    })
});

如果你的应用程序是用php构建的,那么使用:

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

答案 1 :(得分:0)

您获得的响应是​​object类型,并将显示为[object] [object]。如果您想对其进行JSON.stringify,则需要alert。我建议改用console.log,这样可以更好地进行调试。