如果您的简单测试页位于hello world
node.js示例之外的其他协议/域/端口上,则说明您正在执行跨域请求并违反了相同的原始策略,因此jQuery
ajax调用(获取和加载)无提示地失败。为了获得跨域工作,您应该使用基于JSONP的格式。例如node.js代码:
var http = require('http');http.createServer(function (req, res) { console.log('request received'); res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('_testcb('{"message": "Hello world!"}')');}).listen(8124);
和客户端Javascript / jQuery:
$(document).ready(function() { $.ajax({ url: 'http://192.168.1.103:8124/', dataType: "jsonp", jsonpCallback: "_testcb", cache: false, timeout: 5000, success: function(data) { $("#test").append(data); }, error: function(jqXHR, textStatus, errorThrown) { alert('error ' + textStatus + " " + errorThrown); } });});
还有其他方法可以使此工作正常进行,例如通过设置反向代理或完全使用express这样的框架来构建Web应用程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)