【发布时间】:2015-07-28 01:52:33
【问题描述】:
更新/修复
感谢您的回答。找出问题所在! (以傻瓜编程方式)我正在连接到远程节点服务器 url /page。我可以访问此节点服务器,并且在一个名为 app.js 的文件中,它具有用于跨域选项访问的代码行。添加行即 app.options('url', 'param1', 'param2'); (抱歉不记得确切的代码)如果有人想详细说明他们的理解,那就太好了!
大家好,如果你能帮助我,那就太好了。
我的 AJAX 发布请求有问题,我的函数从用户那里获取一个值,并使用 apikey 和序列号以 json 格式发布/检索数据。我有另一个完全相同的功能,通过输入另一个 ID 号和 url: 可以成功运行。
通过手动输入API和序列号使用简单的表单请求成功检索数据,但下面的AJAX没有。
控制台日志错误返回 选项.... XMLHttpRequest 无法加载。 HTTP 状态码 404 无效
我在本地工作 > 请求远程 URL。我有 CORS 扩展,我尝试过允许跨源解决方案,但没有运气。
谢谢!
this.searchModelEvent = function (e) {
e.preventDefault();
var $m = $(this);
var _serial = $m.find(".serialNum").val();
var modelData = { apikey: apikey,id: _serial };
modelData = JSON.stringify(modelData);
console.log(modelData);
$.ajax({
type: 'POST',
contentType: 'application/json',
dataType: 'json',
url: modelUrl,
crossDomain: true,
data: 'modelData',
success: function(data) {
if (data.error) {
_t.errorState();
} else {
console.log("SUCCESS!!@#! \n");
}
},//End Success
}); //End Ajax Call
};//End Search Model Event
【问题讨论】:
-
您确定
modelUrl与您手动测试中的完全相同吗? -
是的,对此进行了测试。与 http url 交换变量,反之亦然。欢呼
-
我们无法调试我们看不到的东西,modelUrl 甚至来自哪里?我们无从得知。为什么你的变量 ModelData 在单引号中?这告诉 JS 解析器它是一个字符串而不是一个变量。
-
我猜你的 url 不是你想象的那样。在网络面板中查看请求,查看url。