如何在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)。
修改
正如评论员强调的那样,将此问题视为一个研究问题。在任何有效的应用程序中使用都没有意义。
答案 0 :(得分:4)
您不应将Javascript代码放在字符串文字中。
如果你通过添加事件处理程序以正确的方式执行此操作,它将正常工作:
$('<a>Click!</a>').appendTo('body').click(function() { fn(); })