当我尝试执行一个认为Ajax / Jquery的POST请求时,我在控制台中收到错误。
这是错误:
createTeam.js 67和31行是:
$.ajax({ //line 67
sendInvitation(teamID,_companyName,teamName) //line 31
ajax请求在函数sendInvitation中。 我在另一个ajax请求的成功部分中调用sendInvitation:
success: function(msg) {
$.cookie("teamID",msg.teamID)
$.cookie("sessionID",sessionID)
var teamID = msg.teamID;
sendInvitation(teamID,_companyName,teamName);
alert("team supposedly saved")
}
这是sendInvitation函数:
function sendInvitation(teamID, adminName,teamName){
var emailList = [];
$(".emails-ul").children("li").each(function(){
emailList.push($(this).value);
});
$.ajax({
type: "POST",
url: "http://xxx.xxx.x.xx:9000/email/"+teamID,
dataType:'json',
contentType: false,
data:{
teamName: teamName,
adminName:adminName,
emails: "argomes@lakeheadu.ca"
},
success: function(msg) {
}
});
}
我不知道我做错了什么。有人知道吗? 提前谢谢。
答案 0 :(得分:1)
我认为问题出在你的contentType对象上。 jQuery可能不知道如何处理内容类型false
。您可以设置contentType或将其设置为正确的值,可能是application/json
或application/x-www-form-urlencoded
。
答案 1 :(得分:0)
我刚刚找到了解决方案。
我在这里看到很多关于类似主题的问题。
显然,Ajax请求不接受数据为OBJECT.But我没有意识到我发送的是一个对象而不是一个字符串。所以在调用函数时我收到了teamName(html对象)中的一个对象,并且Post无效。
因此,一旦我将其修复为字符串,Post就完美无缺。
这对有相同问题的人非常有用。
检查您是否尝试发送对象而不是字符串或json。该请求不适用于对象。
contentType: false,
ContentType不是实现此目的所必需的。
干杯。 :)