JQuery中的AJAX调用出现错误
AJAX call in JQuery giving an error
我正在附加我正在执行的项目,但它总是转到错误函数。
它为什么要这么做?
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="jquery-ui.css">
<script src="jquery-1.10.2.js"></script>
<script src="jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
$("#tags").autocomplete({
source: function (request, response) {
$.ajax({
url: "test",
dataType: "json",
success: function(response) {
alert("a");
console.log(response);
},
error: function(response) {
alert("b");
console.log(response);
}
});
}
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
</body>
</html>
我的JSON文件名为test.json
,包含:
[{"SubItemID":1,"MainItemID":1,"SubName":"2%","MainName":"Milk"},
{"SubItemID":2,"MainItemID":1,"SubName":"Skim/Fat Free","MainName":"Milk"},
{"SubItemID":3,"MainItemID":2,"SubName":"Chedder","MainName":"Cheese"}]
Url应该是"test.json"
,因为您得到的是静态文件。您没有将请求发送到有效的服务器URL。
它必须是你试图从url中获取的实际文件:测试不会给你任何回报,除非在后端你有一些机制可以给你一个JSON响应,dataType:JSON
url中的文件可以是任何内容。something.json或test.php、test.asp、test.jsp,无论情况如何,都需要指定一个具有实际json 的文件
回答得好Birgit Martinelle。那将是我的第一直觉。
您可以对后端API进行AJAX调用,它需要返回JSONP格式,而不仅仅是JSON,否则会出错。这是由于同源政策:https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy.
此讨论可能有助于理解JSONP:
有人能用外行的话解释什么是JSONP吗?
然而,一个替代方案是禁用谷歌Chrome浏览器的安全性,然后它就会工作。但这不是一个解决方案。您需要使用JSONP格式。
所以最好让你的JSon文件像这样,即JSonP格式的
myCallback([{"SubItemID":1,"MainItemID":1,"SubName":"2%","MainName":"Milk"},
{"SubItemID":2,"MainItemID":1,"SubName":"Skim/Fat Free","MainName":"Milk"},
{"SubItemID":3,"MainItemID":2,"SubName":"Chedder","MainName":"Cheese"}]);
希望这能帮助您解决问题
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- Javascript播放声音会导致“NPObject上的错误调用方法”
- 未捕获的类型错误:调用函数时无法读取未定义的属性“then”
- 电话差距构建地理位置 NPObject 上的错误调用方法
- 间歇性 HTTP 403 禁止访问错误调用相同的 Ajax 代码
- 致命错误:调用未定义的函数 FusionCharts()
- 致命错误:未捕获错误:调用未定义的函数loginRelocate() Javascript
- Codeigntier/AJAX - 致命错误:调用未定义的函数 form_input() in
- 范围错误:调用堆栈超出异步 .eachSeries 上的范围错误
- 未捕获的类型错误:调用 push() 时的类型错误
- 错误:调用 waitForCondition 时错误响应状态:13
- JavaScript 错误:“调用的对象已与其客户端断开连接”在 IE8 中的 window.open 上
- AngularJS函数在路由更改时被错误调用
- Javascript中的作用域错误.调用该对象的不同方法中的方法
- Ajax返回错误调用错误Ajax错误调用
- “function"Javascript中没有定义错误:调用函数的正确方式是什么?
- YouTube iFrame API:没有就绪调用,没有错误调用
- 从 javascript 错误调用的引导进度条
- 小部件,从选项错误调用函数
- JavaScript -当错误调用其他函数时,函数不会抛出错误