Javascript XMLHttp请求post未命中URL,也未显示任何错误
我已经编写了一个XMLHttp请求POST方法来代替表单POST 调试时,它工作正常,没有显示任何错误,但也没有命中URLJavascript XMLHttp请求post未命中URL,也未显示任何错误,javascript,json,ajax,url,xmlhttprequest,Javascript,Json,Ajax,Url,Xmlhttprequest,我已经编写了一个XMLHttp请求POST方法来代替表单POST 调试时,它工作正常,没有显示任何错误,但也没有命中URL var http = new XMLHttpRequest(); var url = "https://localhost:8083/unique/test"; var params = finalJSON; http.open("POST", url, true); http.setRequestHeader("Content-type", "application/js
var http = new XMLHttpRequest();
var url = "https://localhost:8083/unique/test";
var params = finalJSON;
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/json; charset=utf-8");
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
这里finalJSON是我的JSON,它包含如下数据:
{"ID": "1234", "AMOUNT": "10000", "TXNTYPE": "abc", "CURRENCY_CODE": "123"}
找不到问题,请帮我找一下缺什么为什么URL不打
我是从这本书中引用的
我还附上了网络日志的屏幕截图,其中的请求正在进行,但没有响应。您是否正在运行API的同一服务器上运行上述HTML片段?如果没有,您将遇到CORS问题,以下是一些解决方案:
- 在服务器API中允许跨源请求。在JavaSpring引导应用程序中,您可以添加@CrossOrigin(maxAge=3600)以允许来自任何来源的请求
Ajax交互
var http=new XMLHttpRequest();
变量url=”http://localhost:8080/guide/channel";
变量参数='{“channelNumber”:110,“name”:“Star Sprorts HD1”,“price”:20,“channelGroup”:“Star”}';
http.open(“POST”,url,true);
setRequestHeader(“内容类型”,“应用程序/json;字符集=utf-8”);
http.onreadystatechange=函数(){
如果(http.readyState==4&&http.status==200){
警报(http.status);
}
}
http.send(params);
尝试使用以下选项:
var url = "https://localhost:8083/unique/test";
var params = finalJSON;
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.send(params);
不点击URL是什么意思?在browser developer tools网络页面中,您是否看到该请求?(顺便提一下,我怀疑CORS问题)是的,在网络页面请求中进行调试,但没有显示任何响应。这个url实际上是JAVA中的一个操作,在调试时,它应该命中带有参数的url,但它没有按预期工作。如果服务器收到请求但没有响应,则问题可能出在服务器上。不,我当时在postman上测试了相同的url命中,但不是通过此代码。无法找出问题所在?请看,postman不需要CORS响应头才能工作-我怀疑是CORS-但由于某种原因,您显然无法在浏览器开发人员控制台中看到这一点(哪个浏览器?)我已经添加了我的网络日志的屏幕截图,因为您可以看到请求正在进行,但其状态只是挂起,没有响应。@CrossOrigin(maxAge=3600)为我工作,Thnx为建议。