UPDATE / FIXED
谢谢你的回答。找出问题所在! (在dummies方式的编程中)我连接到远程节点服务器url / page。我可以访问这个节点服务器&在名为app.js的文件中,它具有用于跨域选项访问的代码行。添加了一行,即 app.options(' url',' param1',' param2'); (抱歉无法记住确切的代码)如果有人想详细阐述他们的理解那将是伟大的!
如果你能帮助我,大家好。
我遇到了一个AJAX发布请求的问题,我的函数从用户那里获取一个值,并使用apikey和序列号以json格式发回/检索数据。我有另一个功能完全相同,通过输入另一个id号码成功地工作,url:是不同的。
通过手动输入API和序列号使用简单的表单请求成功检索数据,但下面的AJAX没有。
出现控制台日志错误 选项.... XMLHttpRequest无法加载。无效的HTTP状态代码404
我在本地工作>请求远程网址。我有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
答案 0 :(得分:0)
不可能将此作为解决方案来证明,因为它不是一套完整的代码,但是我会说你的主要问题(如果其他所有内容都超出我在OP上提到的那个顺序)就是你需要:
更改行
data: 'modelData',
到
data: modelData,
像这样:
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