我是学习 AJAX 的新手,也是 Web 开发的新手,我在让本地服务器和远程服务器处理发布请求时遇到问题。我正在使用node.js 和express 模块。
这是我的服务器的代码:
var express = require('express');
//start server
var app = express.createServer();
//handle requests
app.post('/hello', function(req, res){
res.send("hello");
});
app.listen(8888);
非常基本,我知道。为了测试这一点,我通过 Chrome 中的控制台手动创建一个 XMLHttpRequest(我已禁用跨源策略以在本地计算机上进行测试):
var xhr = new XMLHttpRequest();
xhr.open('POST', 'localhost:8888/hello', true);
xhr.send('name=me'); //body of request is irrelevant at this point
当我将请求发送到本地计算机时,它立即返回并表示失败。当我将请求发送到远程服务器(其中 localhost 被我的服务器的 IP 替换)时,我的控制台中没有收到错误,但是当我检查 xhr 对象的状态时失败。
我不知道问题是否出在我的服务器编写方式上,或者我向服务器发送请求的方式上。但是,我一直在查看像上面那样显示快速处理 POST 请求的教程和示例,以及像上面那样显示发送 POST 请求的其他教程。
发送和处理 GET 请求似乎工作正常。我一定是错过了什么。
谢谢,夏恩。
最佳答案
发出 POST 时,您需要在 URL 中包含 HTTP:
xhr.open('POST', 'http://localhost:8888/hello', true);
关于javascript - 使用node.js和express处理POST请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12080260/