javascript - “请求的资源上不存在 'Access-Control-Allow-Origin' 标头”(未捕获的 SyntaxError:意外的标识符)
问题描述
我有以下ajax调用
var response = "";
//Ajax call to the DB server
var target_url = "http://SomeIP/db/*create_table*?token=1234qwer&table_name="+table_name+"&array_of_fields={"+final_fields+"}";
function hit_db(callback)
{
$.ajax({
url: target_url,
type: 'GET',
async: true,
crossDomain: true,
success: callback,
});
}
hit_db(function(data){
response = data;
alert(response);
});
但是alert(reponse)
显示正确的输出应该是什么undefined
时候ERROR table already exists
但是,当我检查我的开发人员时。工具我看到以下
如果我单击 Uncaught SyntaxError 的链接,它会将我带到显示正确输出的此页面
为什么我想在那个 Unexpected Identifier 中得到正确的输出,但我得到 undefined alert(response)
?任何可能的修复?
编辑 - - -
这是一些简化的代码和响应
function hit_db(callback)
{
$.ajax({
url: target_url,
type: 'GET',
success: callback,
});
}
hit_db(function(data){
response = data;
console.log(response);
});
谢谢!!
解决方案
您能否将代码编辑为一个简单的 ajax 调用并检查控制台它的响应。因为如果它只是在浏览器上工作,我希望它是一个通常的获取请求。
function hit_db()
{
$.ajax({
url: target_url,
}).done(function(resp) {
console.log(resp)
});
}
hit_db();
编辑:问题是由于跨域请求。您必须将 'Alloww-cross-orgin-request':* 添加到您的服务器响应中,或者您可以通过在浏览器中传递它来执行此操作。如果在您的浏览器中绕过它不是一个选项,我会说您需要阅读此链接中浏览器完成的跨源检查的不同条件检查
推荐阅读
- powershell - Powershell 脚本获取正在使用的证书的证书序列号,用于清理 Microsoft 证书颁发机构
- database - Mongodb:如何从转储 gz 文件中恢复一个集合?
- flutter - Flutter Wrap 不适用于大文本
- elasticsearch-6 - 在带有时间戳的单词的文档中搜索短语或单词
- c# - Unity 3D 计数代理通过门的次数
- c++ - 猜数字游戏输出不正确
- oauth - 任务在 Locust 中使用 FastHttpUser 引发 422 错误
- oracle - 如何回滚 JDeveloper ADF 中的特定行?
- javascript - React - 从另一个组件切换主题
- sql - SQL Server GEOGRAPHY STIntersection 更改点顺序