【问题标题】:jquery load with URL as variable and callbackjQuery加载URL作为变量和回调
【发布时间】:2013-10-12 19:53:58
【问题描述】:

我正在尝试使用 jquery 加载函数将动态内容加载到 DIV 中。我也只是加载另一个 HTML 页面的片段。

当我将 URL 作为变量或显式传递时,一切都按预期工作。但是,当我尝试将 URL 作为变量传递并使用回调函数时,事情就崩溃了。

我希望这是语法不正确的问题。我的代码如下,请帮忙。

以下是将内容加载到DIV的功能。

function loadContentTest(elementSelector, sourceUrl) {
   $(""+elementSelector+"").load(""+sourceUrl+"",function(){
     $('a[rel*=facebox]').facebox();
   });
}

这一行下面是被调用函数的示例。

loadContent('#AboutDiv', 'services_content.html #survey');

【问题讨论】:

  • “事情崩溃了” 请解释一下你的意思。正确解释您的问题。
  • 您的参数周围不需要""+...+"",尽管它不会造成问题。
  • 它抛出了什么错误?
  • 好吧,什么都没有发生。该功能不起作用。内容未加载到 DIV 中。

标签: javascript jquery ajax url callback


【解决方案1】:

试试这个:

$(""+elementSelector+"").load("'"+sourceUrl+"'",function(){

双引号你没有做任何事情的方式

你说这很好用,除了当你使用回调函数时,回调函数中唯一的一行是

$('a[rel*=facebox]').facebox();

,尝试注释掉这一行,看看它是否有效。在 Facebox 示例中,他们在 Document ready 上使用它,像他们一样尝试

jQuery(document).ready(function($) {
  $('a[rel*=facebox]').facebox() 
})

【讨论】:

  • '+sourceUrl+' 不是有效的网址。
  • @FelixKling 已修复 - 现在你可以试试了
  • 这将传递'services_content.html #survey',这可能也是无效的。为什么要在字符串中添加'?这是不正确的。
  • 斯科特,你是对的。 Facebox 示例在 Document ready 上使用它,但是我发现加载的内容中包含的 javascript 没有执行,所以我不得不在加载后使用 facebox 函数作为回调。
  • Felix Kling,您的意思是 URL 周围的单引号无效吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多