Javascript Node.js收到POST请求,但给出客户端错误
我正在通过AJAX成功地向运行在端口8080上的node.js服务器发送POST请求:Javascript Node.js收到POST请求,但给出客户端错误,javascript,ajax,node.js,Javascript,Ajax,Node.js,我正在通过AJAX成功地向运行在端口8080上的node.js服务器发送POST请求: $.ajax({ url: 'http://127.0.0.1:8080', type: 'post', dataType: 'text', data: 'test' }); 我可以在请求上使用事件侦听器读取和使用数据服务器端: request.setEncoding('utf8'); request.addListener('data', function(chunk)
$.ajax({
url: 'http://127.0.0.1:8080',
type: 'post',
dataType: 'text',
data: 'test'
});
我可以在请求上使用事件侦听器读取和使用数据服务器端:
request.setEncoding('utf8');
request.addListener('data', function(chunk) {
console.log(chunk);
});
request.addListener('end', function() {
response.end();
});
然而,我仍然在客户端遇到一个错误,比如AJAX调用不成功。我得到的错误是:
XMLHttpRequest cannot load http://127.0.0.1:8080/. Origin http://127.0.0.1 is not allowed by Access-Control-Allow-Origin.
我还注意到没有响应,标题也丢失了。您从哪个页面发送ajax请求?它需要与服务器位于同一个域中-尝试使用相对URL并在同一服务器和端口上托管客户端页面。您从哪个页面发送ajax请求?它需要与服务器位于同一域中-尝试使用相对URL并在同一服务器和端口上承载客户端页面。我从发送ajax请求,它应该与服务器位于同一域中?然后请求将来自
127.0.0.1:80
(默认HTTP)和响应来自:8080
。这是不同的起源。一种解决方案是让节点提供页面,例如127.0.0.1:8080/index.html
(这意味着修改节点代码)。或者,如果希望将客户端服务服务器和后端服务器分开,也可以查看JSONP。我已尝试将数据作为JSONP发送,但随后又出现另一个错误,节点无法读取请求。我得到的错误是:资源被解释为脚本,但使用MIME类型text/plain传输,然后您需要将请求或响应添加为content-type
asapplication/json
@EMMERICH,json-P应该作为application/javascript
发送。它不是JSON。我从发送ajax请求,它应该与服务器的域名相同?然后请求将来自127.0.0.1:80
(默认HTTP),响应来自:8080
。这是不同的起源。一种解决方案是让节点提供页面,例如127.0.0.1:8080/index.html
(这意味着修改节点代码)。或者,如果希望将客户端服务服务器和后端服务器分开,也可以查看JSONP。我已尝试将数据作为JSONP发送,但随后又出现另一个错误,节点无法读取请求。我得到的错误是:资源被解释为脚本,但使用MIME类型text/plain传输,然后您需要将请求或响应添加为content-type
asapplication/json
@EMMERICH,json-P应该作为application/javascript
发送。它不是JSON。