Rea*_*ues 176 ajax jquery json
我正在尝试创建一个简单的AJAX请求,它从MySQL数据库返回一些数据.这是我的功能如下:
function AJAXrequest(url, postedData, callback) {
$.ajax() ({
type: 'POST',
url: url,
data: postedData,
dataType: 'json',
success: callback
});
}
Run Code Online (Sandbox Code Playgroud)
......这就是我所说的,解析所需的参数:
AJAXrequest('voting.ajax.php', imageData, function(data) {
console.log("success!");
});
Run Code Online (Sandbox Code Playgroud)
然而,我的成功回调没有运行(因为"成功!"没有记录到控制台),我在控制台中收到错误:
TypeError: $.ajax(...) is not a function.
success: callback
Run Code Online (Sandbox Code Playgroud)
这是什么意思?在成功事件触发$ .ajax内部的匿名函数之前,我已经完成了AJAX请求,但现在我正在尝试运行一个单独的命名函数(在这种情况下,是一个回调).我该怎么做?
Gus*_*Gus 762
这里的答案都没有帮助我.问题是:我使用的是jQuery的简洁构建,它删除了一些东西,ajax就是其中之一.
解决方案:只需在此处下载常规(压缩或非压缩)版本的jQuery 并将其包含在您的项目中.
kar*_*iks 110
仔细检查您是否使用完整版本的jquery而不是一些超薄版本.
我正在使用jquery附带的jquery cdn-script链接.问题是这个默认情况下是slim.jquery.js,它没有这个ajax功能.因此,如果您正在使用(从Bootstrap网站复制粘贴)slim版本jquery脚本链接,请使用完整版本.
也就是说用
<script src="https://code.jquery.com/jquery-3.1.1.min.js">
而不是
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"
Jas*_*ans 25
不确定,但看起来您的代码中存在语法错误.尝试:
$.ajax({
type: 'POST',
url: url,
data: postedData,
dataType: 'json',
success: callback
});
Run Code Online (Sandbox Code Playgroud)
你旁边有额外的括号$.ajax,不需要.如果仍然出现错误,则不会加载jQuery脚本文件.
我使用了以下版本的 jQuery 并且它有效
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
Run Code Online (Sandbox Code Playgroud)
小智 7
参考包含 ajax 的 jquery min 版本:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
不要使用jQuery 的精简版,它没有 ajax 功能。使用缩小版本,而不是https://releases.jquery.com/
注意: 确保不要使用从 Bootstrap 网站复制的 jquery 链接,因为它们使用 slim 版本。