繁体   English   中英

$ .ajax发布请求进入

[英]$.ajax post request going into get

被撞可能会四处走动,以了解正在发生的事情。 这是我的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测试了网址,并且可以正常工作,已经检查了输入的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]

这就是发送到服务器的内容。 现在,如果我打开萤火虫的控制台,我会看到以下内容:

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可能是什么问题或如何开始进行故障排除的想法。

任何可以在这里阐明一些想法的想法将不胜感激。

编辑现在,由于这个原因,我已经能够向前迈出一步:将方法post添加到表单中之后,我就可以发出post请求,但是它转到/而不是我期望的位置(url: “ http://xxxxxxxxx.xxxxx/api/det ”)。

解决方案是使用event.preventDefault()方法停止提交表单:

$("#subm").button({icons: {primary: "ui-icon-person"}}).click(function(event) {
  event.preventDefault();
  newContact();
});

您正在调用的api( http://xxxxxxxxx.xxxxx/api/det )中的方法属于Get类型,而您处于“ POST”类型则可能是这种情况。

检查Api中的方法类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM