Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js收到POST请求,但给出客户端错误_Javascript_Ajax_Node.js - Fatal编程技术网

Javascript 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成功地向运行在端口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) {
   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
as
application/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
as
application/json
@EMMERICH,json-P应该作为
application/javascript
发送。它不是JSON。