我有一个模块的骨架,可以通过点击按钮将记录添加到数据库中。
var Person = (function () {
var ajaxOpts = {
type: "POST",
url: "",
contentType: "application/json",
dataType: "json",
success: function () { },
error: function () { },
data: {}
}
function insert(data) {
ajaxOpts.url = "../Service.asmx/InsertPerson";
ajaxOpts.data = JSON.stringify(data);
ajaxOpts.error = function (xhr) {
console.log(xhr.status);
};
ajaxOpts.success = function (data) {
console.log('record successfully added');
console.log(data.d);
}
$.ajax(ajaxOpts);
};
return {
insert: insert
}
} ());
我从我的网页上调用它:
$(document).ready(function () {
$('#btnSubmit').click(function () {
var data = {
personId: $('#personId').val(),
firstName: $('#firstName').val(),
lastName: $('#lastName').val()
};
Person.insert(data);
});
});
如何修改此代码以确保$
是jQuery对象而不是其他库?
答案 0 :(得分:1)
对于插件,您通常将代码包装在IIFE中并将jQuery
映射到$
。你可以为你的模块做同样的事情(你甚至已经有了IIFE):
var Person = (function($) {
// ...
}(jQuery));
对于document.ready
回调,对jQuery的引用传递给回调:
jQuery(document).ready(function($) {
// ...
});
请确保您在功能之外使用jQuery
。
答案 1 :(得分:0)
如何更换主页中的代码如下:
(function($) {
$('#btnSubmit').click(function () {
var data = {
personId: $('#personId').val(),
firstName: $('#firstName').val(),
lastName: $('#lastName').val()
};
Person.insert(data);
});
}(jQuery));