Jquery / JavaScript - 将Ajax jSONP响应存储到变量中 [英] Jquery/JavaScript - Store Ajax jSONP response into variables
问题描述
我正在使用JSONP获取ajax请求的结果而没有任何问题。这是我的代码
I'm getting the result of an ajax request using JSONP without any issues. Here is my code
function TestJSONP()
{
$.ajax({
url: "https://www.sample.com/api/users.json?account_api_key=0000&unique_install_id=0000&email_address=test@test.com&locale_id=en-US&operating_system_version=6.1.7601.65536&operating_system_architecture=64&outlook_version=2013&version=0.0.5.0",
// the name of the callback parameter, as specified by the YQL service
jsonp: "callback",
// tell jQuery we're expecting JSONP
dataType: "jsonp",
// tell YQL what we want and that we want JSON
data: {
q: "select title,abstract,url from search.news where query=\"cat\"",
format: "json"
},
// work with the response
success: function (response) {
console.log(response); // server response
}
});
}
我需要将响应数据设置为我可以在请求之外访问的变量。请指教。 (我读了一些类似的问题,我无法将它们的解决方案应用于我的。因为我认为我的响应数据结构有点不同)请参阅下面的块以查看console.log的结果(响应);
I need to set the response data into variables which I can access outside that request. Please advice me. (I read some similar questions and I was not able to apply their solutions for mine. Because I think my response data structure is bit different) Please see following block to see the results of console.log(response);
{
account:
{
id: "sadasdd4234",
name: "Sample Development",
support_email_address: "test1@sample.com",
report_threat_button_text: "text1",
successful_report_text: "text2",
false_report_text: "text3",
},
current_plugin_version: "0.0.1",
id: "trt45rety",
status: "ok",
type: "api_response",
user:
{
id: "erwrretV0",
language: "en",
first_name: "Robert",
last_name: "Croos",
email_address: "test2@sample.net"
}
}
提前致谢。 Kushan Randima
Thanks in advance. Kushan Randima
推荐答案
试试这个例子:
只需申报全球函数外部的变量,并在ajax响应之后将响应变量赋值给该全局变量。
Just declare a Global variable outside of the function and assign response variable to that global variable after ajax response.
var jsonData;
function TestJSONP()
{
$.ajax({
url: "https://www.sample.com/api/users.json?account_api_key=0000&unique_install_id=0000&email_address=test@test.com&locale_id=en-US&operating_system_version=6.1.7601.65536&operating_system_architecture=64&outlook_version=2013&version=0.0.5.0",
// the name of the callback parameter, as specified by the YQL service
jsonp: "callback",
// tell jQuery we're expecting JSONP
dataType: "jsonp",
// tell YQL what we want and that we want JSON
data: {
q: "select title,abstract,url from search.news where query=\"cat\"",
format: "json"
},
// work with the response
success: function (response) {
console.log(response); // server response
jsonData = response; // you can use jsonData variable in outside of the function
}
});
}
这篇关于Jquery / JavaScript - 将Ajax jSONP响应存储到变量中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!