在Ajax响应回调中调用本地JavaScript方法

时间:2011-12-28 02:17:24

标签: javascript ajax jquery

如何在ajax请求中调用本地JavaScript函数fn?使用jQuery我正在创建一个链接元素,单击该链接元素将加载Web资源,并且在其成功回调中应调用本地方法:

$('body').append('<a onclick=\'$.ajax({' +
    'url: "http://fiddle.jshell.net",' +
    'context: document.body,' +
    'success: function(){$("body").append("</br>callback");fn();}});\'>CLICK ME</a>');

function fn() {
    $('body').append('</br>fn');
}

在此尝试:http://jsfiddle.net/jzWUA/1/

错误日志告诉我:

,而不是打印fn
  

未捕获的ReferenceError:未定义fn

(使用最新的Chrome)。

修改

正如评论员强调的那样,将此问题视为一个研究问题。在任何有效的应用程序中使用都没有意义。

1 个答案:

答案 0 :(得分:4)

您不应将Javascript代码放在字符串文字中。

如果你通过添加事件处理程序以正确的方式执行此操作,它将正常工作:

$('<a>Click!</a>').appendTo('body').click(function() { fn(); })