是否可以使用 url 中的端口号进行 HTTP 发布请求?
这可以
$http.post('http://localhost/httpPost.json', data);
但这不起作用
$http.post('http://localhost:8081/httpPost.json', data);
是的,可以在 AngularJS 请求中使用端口号。所以问题不在这里。
您能否对“不工作”更精确一点?
检查您的浏览器控制台(在 Chrome 中按 F12,如果您在 Firefox 上安装了 firebug,则按 F12)。此控制台中可能会显示一条错误消息。
我怀疑跨域策略会阻止您获取 httpPost.json。如果调用不是从您尝试提取数据的位置进行的(例如,如果您从文件系统或另一台服务器打开浏览器,而不是在 8081 上运行的服务器),则会发生这种情况
如果您的脚本不是从同一个端口提供的,那么浏览器将不允许它。这是一种安全措施。查看CORS了解详情。