【发布时间】:2016-02-14 03:16:08
【问题描述】:
我需要向一个 api url 发出两个 ajax 发布请求。第一个请求以 json 格式返回一些数据(密码、会话、会话 ID、项目 ID)。
谁能告诉我如何获取密码、会话、sessionId、itemId 值并使用它向同一个 api url 发出另一个 ajax 发布请求?
我当前的代码只获得 api 响应,但是如何在第二个 post 请求中使用密码、会话、sessionId、itemId 的值?
我试图引用 api 数据,例如 data.keys.password、data.keys.session、data.items.seasonId、data.items.itemId,但我得到错误 data.keys 和 data.items 未定义!
谁能告诉我我做错了什么?
(注意:目前我将数据放在第二个发布请求中硬编码用于演示目的)
ajax 发布请求调用:
function callAjax() {
$.post("https://api-somewebsite.com/process.aspx",
{
name: "galaxy",
itemNum: "123456789"
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
// now i want to use api response data to make another ajax post call
$.post("https://api-somewebsite.com/process.aspx",
{
password: "2342432423ledf",
session: "23isaofdfjosidfiedfdd=="
seasonId: "12345",
itemId: "334455"
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
};
<br>
<button onclick="callAjax()">callAjax</button>
我想引用其项目的 api 响应(对于第一个 ajax 发布请求):
{
"keys": {
"password": "2342432423ledf",
"session": "23isaofdfjosidfiedfdd=="
},
"items": {
"seasonID": 12345,
"itemID": 334455,
}
}
【问题讨论】:
-
当您将内部 POST 请求中的硬编码数据替换为第一个请求成功函数中的“data”变量时会发生什么?看起来这样可以使第二个请求起作用。
-
感谢您的回复。我尝试使用 data,keys.password 和 data.keys.session 但都给我未定义!
-
data(来自第一个请求)在您提醒/记录它时是什么样子? -
我在第一篇文章中发布了第一个 api 响应,如下所示:{ "keys": { "password": "2342432423ledf", "session": "23isaofdfjosidfiedfdd==" }, "项目”:{“seasonID”:12345,“itemID”:334455,}}
-
如果是
data,那么data.keys.session不是未定义的。您对$.post的调用看起来不错。