Jquery getJSON回调未触发,因为其中一个JSON元素中存在URL
我已经到处寻找这个问题的答案,但我没有找到答案 我的工作经历。我从一台服务器加载XML,将其转换为服务器上的JSON文件,这样我就可以轻松地使用它(使用JS) 我的json如下所示:Jquery getJSON回调未触发,因为其中一个JSON元素中存在URL,jquery,ajax,json,getjson,jquery-callback,Jquery,Ajax,Json,Getjson,Jquery Callback,我已经到处寻找这个问题的答案,但我没有找到答案 我的工作经历。我从一台服务器加载XML,将其转换为服务器上的JSON文件,这样我就可以轻松地使用它(使用JS) 我的json如下所示: { "listings": [{ "detailsLink": "http://idx.firstidx.com/NewDetails.aspx?MLS=2529220&TableType=SingleFamily&DatabaseID=50&Domain=639 ", "detailsPr
{ "listings": [{ "detailsLink": "http://idx.firstidx.com/NewDetails.aspx?MLS=2529220&TableType=SingleFamily&DatabaseID=50&Domain=639 ", "detailsPrice": "149000", "detailsBeds": "0", "detailsBaths": "1", "detailsCity": "Floral Park", "detailsImage": "http://3pv.mlsstratus.com/mlsmultiphotos/full/1/220/2529220.jpg", "detailsState": "NY" }]}
$.getJSON('get-json.asp', function(data){
$.each(data.listings, function(i,l){
var detailsLink = l.detailsLink;
var detailsImage = l.detailsImage;
var detailsPrice = l.detailsPrice;
var detailsBeds = l.detailsBeds;
var detailsBaths = l.detailsBaths;
var detailsCity = l.detailsCity;
var detailsState = l.detailsState;
// Here is where I plan to do magical things with my new variables.
});
});
我的jquery如下所示:
{ "listings": [{ "detailsLink": "http://idx.firstidx.com/NewDetails.aspx?MLS=2529220&TableType=SingleFamily&DatabaseID=50&Domain=639 ", "detailsPrice": "149000", "detailsBeds": "0", "detailsBaths": "1", "detailsCity": "Floral Park", "detailsImage": "http://3pv.mlsstratus.com/mlsmultiphotos/full/1/220/2529220.jpg", "detailsState": "NY" }]}
$.getJSON('get-json.asp', function(data){
$.each(data.listings, function(i,l){
var detailsLink = l.detailsLink;
var detailsImage = l.detailsImage;
var detailsPrice = l.detailsPrice;
var detailsBeds = l.detailsBeds;
var detailsBaths = l.detailsBaths;
var detailsCity = l.detailsCity;
var detailsState = l.detailsState;
// Here is where I plan to do magical things with my new variables.
});
});
回调函数没有为我启动。当我从JSON文件中删除detailsLink时,它会毫无问题地启动。detailsImage没有导致错误
我检查了我的JSON是否在免费在线服务中有效,如果我手动粘贴JSON,它会显示干净,但是当我从URL加载它时,它会显示detailsLink有一个无效字符
我需要做些什么来为JSON输出准备我的detailsLink(URL)
提前谢谢
以下是我的ASP文件的VB:
Set listings = xml.getElementsByTagName("PropertyDetails")
Response.Write "{"
Response.Write " ""listings"": ["
For i = 0 to (listings.Length-1)
Response.Write "{"
Response.Write " ""detailsPrice"":" & " """ & listings.item(i).childNodes(11).text & """, "
Response.Write " ""detailsLink"":" & " """ & listings.item(i).childNodes(0).text & """, "
Response.Write " ""detailsBeds"":" & " """ & listings.item(i).childNodes(8).text & """, "
Response.Write " ""detailsBaths"":" & " """ & listings.item(i).childNodes(9).text & """, "
Response.Write " ""detailsCity"":" & " """ & listings.item(i).childNodes(4).text & """, "
Response.Write " ""detailsImage"":" & " """ & listings.item(i).childNodes(15).text & """, "
Response.Write " ""detailsState"":" & " """ & listings.item(i).childNodes(6).text & """ "
if i < (listings.length-1) then 'If this is not the last listing add a comma after the curley brace
Response.Write "},"
else
Response.Write "}" 'This is the last listing, so no comma
end if
Next
Response.Write "]"
Response.Write "}"
Set listings=xml.getElementsByTagName(“PropertyDetails”)
响应。写“{”
响应。写入“列表”:
对于i=0到(列表长度-1)
响应。写“{”
响应。写入““详细信息”:“&”&列表。项(i)。子节点(11)。文本&“
响应。写入“”详细信息链接“”:“&“”&列表。项(i)。子节点(0)。文本-”,“
响应。写入““详细信息”选项卡“:”和“&列表。项(i)。子节点(8)。文本和“,”
响应。写入““详细信息路径”:“&”&列表。项(i)。子节点(9)。文本&“
响应。写入““详细信息”:“&”&列表。项(i)。子节点(4)。文本&“
响应。写入““detailsImage”“:”&“&listings.item(i).childNodes(15).text&“,”
响应。写入“详细信息状态”:“&”和列表。项(i)。子节点(6)。文本和”
如果i<(listings.length-1),则“如果这不是最后一个列表,请在大括号后添加逗号
响应。写入“},”
其他的
Response.Write“}”这是最后一个列表,所以没有逗号
如果结束
下一个
回答。写“]”
响应。写入“}”
好的,在进一步研究之后,我可以看到我的Jquery在站点前端没有读取任何JSON头信息
我决定使用一个可以在VB(ASP)端为我实现的库,而不是手工编写
我使用的类位于:
谢谢你们的帮助。当控制台出现故障时,它会说什么?这个JSON格式不正确,因为左侧有
{[{
,但右侧用}]}
关闭,并且没有{ /COD>中间是平衡的。就是说,200是OK。它正在加载数据,我可以使用DOM检查器检查它,但是回调不是“回调”。即使我尝试控制台。日志(“测试”),它不起作用。@ KevinB,您是说,在编辑之后。添加一个错误回调,但我敢肯定它会说“PARSEError”。