如何更改外部脚本URL onclick?

Kid*_*ond 7 javascript ajax xhtml jquery

我一直在努力为我的问题找到解决方案.我不是一个体验javascript的人,但我正在寻找一种方法来轻微改变外部js url,具体取决于ahref上的onclick事件.

现在我的脑袋中有这个标签:

<script type="text/javascript" src="http://www.domain.com/loader.php?GID=126&go=&sid="></script>

我希望根据锚标记上的onclick将SID参数设置为1或2.使用这段代码调用加载器,但SID必须在调用加载器之前进行更改.

<a href="/#download" onclick="javascript:Load_126(); return false;">

有没有人可以告诉我是否有可能?也许我指向正确的方向?

问候,

Sedoc94

编辑1:我已被指向一个方向,并认为我可以完成这一点jQuery.getScript()但仍然不知道我应该如何利用它为我的情况.

编辑2:由于脚本需要从外部域中提取,我将不得不使用$ .ajax()函数.

现在我有:

function loadGame(sid){
    $.ajax({
      url: 'http://www.domain.com/loader.php?GID=126&go=&sid='+sid,
      dataType: "script",
      crossDomain: true,
      success: gLoad_12603()
    });
}
Run Code Online (Sandbox Code Playgroud)

使用ahref onclick我正在调用loadGame函数,但控制台说:Uncaught ReferenceError: gLoad_12603 is not defined.它应该工作.但我猜它以某种方式给出了这个错误,因为该函数只存在于从外部URL返回的脚本代码中.

任何想法我怎么能让它工作?

red*_*ine 2

您需要提供一个成功回调,该回调将在 AJAX 请求完成时执行。现在,您实际上是在说带括号的 gLoad_12603() ,并在 AJAX 请求启动之前执行该函数。您不能只删除括号,因为 jQuery 可能会在 AJAX 请求实际启动之前尝试获取对 gLoad_12603 函数的引用。因此,您必须将对 gLoad_12603() 的调用包装在函数中以确保一切顺利:

function loadGame(sid){
    $.ajax({
      url: 'http://www.domain.com/loader.php?GID=126&go=&sid='+sid,
      dataType: "script",
      crossDomain: true,
      success: function() {
          gLoad_12603();
      }
    });
}
Run Code Online (Sandbox Code Playgroud)