ajax错误导致成功函数调用

Thi*_*ark 5 javascript ajax jquery

我正在努力寻找最近这篇文章的解决方案:使用数组值重复一个函数,在这样做的过程中,我将下面的代码拼接在一起.

<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>
Run Code Online (Sandbox Code Playgroud)

我运行这个并不奇怪,返回以下错误消息:

跨源请求已阻止:同源策略禁止在https://www.google.com/上阅读远程资源.(原因:缺少CORS标题'Access-Control-Allow-Origin').


我的问题是 - 如果ajax请求导致出现四次失败,那么为什么成功函数被调用四次并相应地记录数组中的每个名称?

小智 2

success: successAction(name) 
Run Code Online (Sandbox Code Playgroud)

可以替换为

xxx: successAction(name)
Run Code Online (Sandbox Code Playgroud)

它仍然会打印 4 次。正确的语法应该是

success: function(name) { successAction(name); }
Run Code Online (Sandbox Code Playgroud)