砰砰砰砰砰砰砰砰砰砰砰砰砰砰砰砰砰砰砰砰砰砰。 这是我的jquery ajax请求:
function newContact() {
$.ajax({
type: 'POST',
contentType: 'application/json',
// url: rootURL,
url: "http://xxxxxxxxx.xxxxx/api/det",
dataType: "json",
//data: formToJSON(),
data: '{"name":"tom","last":"test","email":"test@west.coast.com","password":"xyz"}',
success: function(data, textStatus, jqXHR){
alert('Welcome');
},
error: function(jqXHR, textStatus, errorThrown){
console.log(' Error: ' + errorThrown);
}
});
}
现在,我已经用curl测试了url并且它正常工作,我已经检查了输入的val()是否被填充,它确实是这样,我真的不明白为什么当我触发该函数时我得到一个GET请求如下:
[11:08:47.607] GET http://xxxxx.com/?name=&last=&email=test%40email.test.com&passwrd=asdf&passwrd2= [HTTP/1.1 304 Not Modified 40ms]
这是发送到服务器的内容。现在,如果我打开firebug的控制台,我会看到以下内容:
POST http://xxxxxxxxxxx.com/api/det
jquery.min.js (line 6)
HeadersPost
Request Headers
Accept application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Content-Length 81
Content-Type application/json; charset=UTF-8
Host xxxxxxx.com
Referer http://xxxxxxxxx.com/
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0
X-Requested-With XMLHttpRequest
我真的不能理解。当apache被发送GET req时,上面提到的POST是什么?
而且我不知道可能是什么问题或如何开始排除故障,成为ajax / json的完整新手。
任何可以在这里阐明一些亮点的想法都将非常感激。
修改 现在感谢this我已经向前迈出了一小步:在将方法帖子添加到表单后我已经能够发出一个帖子请求,但它会转到/而不是我希望的位置(网址:“http://xxxxxxxxx.xxxxx/api/det”)。
答案 0 :(得分:1)
解决方案是使用方法event.preventDefault()
停止提交表单:
$("#subm").button({icons: {primary: "ui-icon-person"}}).click(function(event) {
event.preventDefault();
newContact();
});
答案 1 :(得分:0)
您呼叫的api(http://xxxxxxxxx.xxxxx/api/det)中的方法属于获取类型,而您正在调用“POST”类型可能就是这种情况。
检查Api中的方法类型。