我有这个HTML
<a href="/noJavascript" id="rejoinGroups">Rejoin</a>
<a href="/noJavascript" class="removeGroup" id="Testing">Remove</a>
我正在使用不引人注目的javascript将链接绑定到一个函数,如下所示:
$(function SetUp()
{
var el = document.getElementById('rejoinGroups');
el.onclick = rejoinGroups;
var removeElements = document.getElementsByClassName('removeGroup');
for (var i = 0; i < removeElements.length; i++) {
removeElements[i].onclick = function() {
removeGroup(this.id);
}
}
});
可能会生成许多“删除”链接因此我以不同方式绑定它(但目前我只有一个),并且将id作为函数参数传递。
这些是我要遵守的功能。 我故意让它们完全相同,因为第一个(使用groupName参数)不起作用,但第二个确实有效,我不明白为什么。一旦这个问题得到修复我就会'实际上会使用groupName
参数。第二个返回200代码,第一个立即给出'Error0'消息,然后转到/noJavascript
页面。我只能假设它与参数有关,但似乎设置正确,所以我不确定它是什么。我错过了什么?
function removeGroup(groupName){
$.ajax({
url: '/tasks/aTask',
type: 'POST',
data: {userId:38},
success: function(data, textStatus, jqXHR)
{
alert(jqXHR.status);
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("Error" + jqXHR.status);
}
});
return false;
}
function rejoinGroups(){
$.ajax({
url: '/tasks/aTask',
type: 'POST',
data: {userId:38},
success: function(data, textStatus, jqXHR)
{
alert(jqXHR.status);
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("Error" + jqXHR.status);
}
});
return false;
}
这是我在chrome dev窗口中获得的第二个函数:
Request URL:http://localhost:8888/tasks/aTask
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Connection:keep-alive
Content-Length:9
Content-Type:application/x-www-form-urlencoded
Cookie:dev_appserver_login=test@example.com:true:18580476422013912411; JSESSIONID=10yktze1j72fa
Host:localhost:8888
Origin:http://localhost:8888
Referer:http://localhost:8888/users/38
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
X-Requested-With:XMLHttpRequest
Form Dataview URL encoded
userId:38
Response Headersview source
Content-Length:0
Server:Jetty(6.1.x)
这就是我得到的第一个(失败的):
Request URL:http://localhost:8888/tasks/aTask
Request Headersview source
Accept:*/*
Content-Type:application/x-www-form-urlencoded
Origin:http://localhost:8888
Referer:http://localhost:8888/users/38
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
X-Requested-With:XMLHttpRequest
Form Dataview URL encoded
userId:38
答案 0 :(得分:3)
我不太确定,但我认为这可能是因为你的匿名函数没有返回函数的结果。尝试更改:
removeGroup(this.id);
到
return removeGroup(this.id);