Arrays Javascript数组:AJAX、JSON
我是JS、JSON和AJAX的新手。我正在使用它在我的SAP环境中开发一个简单的应用程序。在将AJAX响应转换为java数组时,我有点吃惊。代码中包含的内容是:Arrays Javascript数组:AJAX、JSON,arrays,ajax,json,Arrays,Ajax,Json,我是JS、JSON和AJAX的新手。我正在使用它在我的SAP环境中开发一个简单的应用程序。在将AJAX响应转换为java数组时,我有点吃惊。代码中包含的内容是: function addTable() { var urls = new Array(); $(document).ready(function () { var params = getURLParam().split('?'); $.post("GetBayDetails.ht
function addTable()
{
var urls = new Array();
$(document).ready(function ()
{
var params = getURLParam().split('?');
$.post("GetBayDetails.htm", {url: getURLParam(), params: params[1]})
.done(function (data)
{
var url = $.parseJSON(data);
urls.push(JSON.parse(url));
$.each(url, function (i, v)
{
push.urls[i] = v.bay;
});
});
});
alert(urls[2]);
}
但是如果我在URL中循环,我看不到任何附加到数组的值。请任何人提供一些帮助来修复此问题?试试这个。我的改变是: 将json数据类型参数用于$.post,以便它自动解析响应 无需在按需调用的函数中使用$document.ready。这仅在执行必须等待加载DOM的初始操作时才需要 没有必要调用JSON.parseurl,因为这已经被解析了 添加到URL数组的正确方法是url.pushv.bay 初始化数组的首选方法是使用[],而不是使用新数组 alerturls[2]需要位于.done函数中。否则,您将在AJAX调用完成之前发出警报
您已经在使用$.parseJSON解析响应,不需要再次调用JSON.parse。请发布一个JSON响应的示例。您好,JSON看起来像{bay:B01,url:thtrack1},{bay:B02,url:},{bay:B03,url:not defined},{bay:B04,url:},{bay:B05,url:colm2},{bay:B06,url:},这是无效的,数组需要[…]围绕它。请在问题中发布实际的JSON。SAP中的方法返回JSON为:[{bay:B01,url:},{bay:B02,url:},{bay:B03,url:},{bay:B04,url:},{bay:B05,url:},{bay:B06,url:}……]thnk u barmar,unf这对我来说也不起作用……在这里花更多的时间来确定问题!thkx现在可以了,但如果我必须引用帖子之外的数组,它就不起作用了……有什么要做的吗?请注意,当我在addTable的结束前尝试它时,我得到的消息是未定义的…我应该怎么做才能使它在帖子外面可见?请让我知道所有依赖于AJAX调用的操作都必须在回调函数中完成-请参阅我的更改6。另见
function addTable() {
var urls = [];
var params = getURLParam().split('?');
$.post("GetBayDetails.htm", {url: getURLParam(), params: params[1]}, "json")
.done(function (url) {
$.each(url, function (i, v) {
urls.push(v.bay);
});
alert(urls[2]);
});
}