【发布时间】:2015-10-30 01:12:49
【问题描述】:
我有 jquery ajax 调用,它将转到 .js 文件并返回 JSON
var validate = function () {
alert('test string');
}
$.ajax({
url: "JS/JQB/SampleData/Filters.js",
async:false,
success: InitailiseJQB
});
Filters.js 文件包含以下 JSON,
[{
"id": "Group",
"filters": [{
"id": "49be7d78-4dcf-38ab-3733-b4108701f1",
"validation": {
"callback": validate
}
}]
}]
在上面的 JSON 验证中是 javascript function 但问题是当我使用 ajax 调用请求 JSON 时,它会抛出名为 JavaScript runtime error: Invalid character 的运行时错误
【问题讨论】:
-
这不是有效的 JSON。 JSON 属性子句的右侧可以是字符串、数字、JSON 数组、JSON 对象、
true、false或null。 -
@Pointy 但如果我删除 ajax 调用并将其放入变量中,那么它将用我提供的函数替换验证,并且一切正常。
-
您可以在从脚本请求 JSON 时添加参数数据类型:“JSON”
-
用一些已知的有效 JSON 尝试你的脚本,看看它是否有效。你会在这里找到很多。
-
@user1655222 一种选择是使用函数的名称(字符串)进行响应——
{ "callback": "validate" }。从该名称引用函数的一种简单方法是 store it as a method。示例:jsfiddle.net/xtz9w6k5
标签: javascript jquery html jquery-callback