Javascript Json请求数据和jquery对绑定问题的响应

Javascript Json请求数据和jquery对绑定问题的响应,javascript,jquery,json,html,dom,Javascript,Jquery,Json,Html,Dom,我在jQuery中遇到了一种情况。特别是它的函数库和getJSON函数 我有一个加载HTML的页面,它调用jQuery和pretto。有一些内联JS会在页面下方发出JSON请求: 它的工作原理如下: 1) 页面加载 2) Javascript代码运行 3) 脚本运行一个jQuery JSON请求,该请求返回并包含HTML(每个a标记中都有a标记和图像) 4) 脚本然后将JSON内部的HTML打印到屏幕上 5) 用户单击a-tag/image,它将在PrettyTo的iframe弹出窗口中打开 注

我在jQuery中遇到了一种情况。特别是它的函数库和getJSON函数

我有一个加载HTML的页面,它调用jQuery和pretto。有一些内联JS会在页面下方发出JSON请求:

它的工作原理如下:

1) 页面加载

2) Javascript代码运行

3) 脚本运行一个jQuery JSON请求,该请求返回并包含HTML(每个a标记中都有a标记和图像)

4) 脚本然后将JSON内部的HTML打印到屏幕上

5) 用户单击a-tag/image,它将在PrettyTo的iframe弹出窗口中打开

注意->每个a标签都有一个Prettypto id(使用iframe弹出窗口在Prettypto中加载图像)

问题是图片(a链接)不能用PrettyTo打开,我不知道为什么。没有JS错误

但是,如果我手动将HTML(a-links/image)放在那里,它确实可以工作(因此,仅从JSON请求加载他们的HTML似乎就能起作用)

当JSON请求返回(带有HTML)时,它似乎已经绑定到a标记(或缺少标记)

目前为止已测试:

尝试将JSON请求放入“document.ready”中,并将其放入“window.load”中。JSON请求也会在其他所有加载都失败时提前绑定

尝试使用jQuery AJAX而不是JSON-失败


不需要特别的代码,但是逻辑有问题

听起来JSON(a-links/images)中的HTML返回得不够快(在“window.load”运行之前)

尝试将返回到JS的数据放入成功回调(即返回数据的位置)

下面的load_images.json是您执行的json请求,返回HTML(a链接及其图像):

现在,在JSON加载A-links之后,PrettyTo将绑定到A-links

希望在a-links之后能有更多的人来填充东西

如果失败,尝试将代码放入成功回调后发生的完整回调中。如下图所示:

$.getJSON("load_html.json", function() {
    //grab HTML data (images/a-links) from json file and print into page
})
.success(function() { 
    //nothing
})
.complete(function() {
     //JS code running prettyPhoto inside here. Now will bind to a-links.
});
这样,您就有足够的时间绑定到标记为正确的a链接


试试看。

我试过了,效果不错。你是个救生员,好主意。thanksIt在询问包含代码的问题时非常有用,这样可以更容易地帮助您进行调试。听起来您需要帮助使代码异步运行,以便只有在JSON请求完成时才能调用PrettyTo内容。我本来打算这样做,但我不确定我对页面事件和jquery事件的理解是否有差距。下次我有问题的时候,我会尽力去做。谢谢
$.getJSON("load_html.json", function() {
    //grab HTML data (images/a-links) from json file and print into page
})
.success(function() { 
    //nothing
})
.complete(function() {
     //JS code running prettyPhoto inside here. Now will bind to a-links.
});