我正在努力寻找最近这篇文章的解决方案:Repeating a function using array of values并且在这样做时,我将以下代码拼凑在一起。
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
var name_list = ['mike','steve','sean','roger'];
var successAction = function(name) {
console.log(name);
}
name_list.forEach(function(name) {
jQuery.ajax({
type: "GET",
url: "https://www.google.com/",
dataType: 'html',
success: successAction(name)
});
});
</script>
我运行此操作并且不出意外地返回以下错误消息:
阻止跨源请求:同源策略禁止在https://www.google.com/上阅读远程资源。 (原因:缺少CORS标题'Access-Control-Allow-Origin'。
我的问题是这个 - 如果ajax请求导致出现四次失败,那么为什么成功函数被调用四次并相应地记录数组中的每个名称?
答案 0 :(得分:2)
success: successAction(name)
可以替换为
xxx: successAction(name)
它仍会打印出4次。正确的语法应该是
success: function(name) { successAction(name); }