我在执行Jquery帖子时遇到错误(错误:发生网络错误。)
使用Postman,它确实有效,这里是cURL:
POST /site/restapi/postalcode HTTP/1.1
Host: localhost:8080
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 14d39deb-fc28-3171-d688-18deaca7cbbe
{
"postalCode" : "9041AK",
"houseNumber" : "1"
}
不幸的是,我的javascript没有:
$('input[name="houseNumber"]').blur(function() {
// Check if the street and city can be fetched
$.ajax({
type : "POST",
contentType : "application/json",
url : "localhost:8080/site/restapi/postalcode",
data: { postalCode : "9713GC", houseNumber : "1" },
dataType: "json",
crossDomain: true,
success: function(data) {
console.log(data);
}}).fail(function(data, status, error) {
console.log("error!" + error);
});
});
编辑:我已经安装了firefox附加防篡改数据,这可以深入了解所有正在发送的请求。这提供了一些额外的信息:根本没有发送任何请求。 (除了加载页面的GET请求。)
发生了什么事?为什么不起作用?
答案 0 :(得分:1)
请求中的url
错误。
如果你写"localhost:8080/site/restapi/postalcode"
,那么localhost
将 - 取决于url解析器的实现 - 引用协议或路径将被解释为相对路径,但然后localhost:8080
案件不会被解释为host
。
您必须编写以下内容之一:
"http://localhost:8080/site/restapi/postalcode"
"https://localhost:8080/site/restapi/postalcode"
"//localhost:8080/site/restapi/postalcode"
"/site/restapi/postalcode"
哪一个取决于您发起请求的网址。