我正在JQuery中构建一个需要与服务器通信的Web应用程序。 我已经多次使用过这个完全相同的代码,唯一改变的是数据和成功执行的代码。
出于某种原因,每当我运行此函数时,我都会收到错误Uncaught TypeError: Illegal invocation
。我不知道这个错误意味着什么,也不知道如何解决它。
function addCourse(course){
console.log("Starting add course");
var data = {
"fn" : "cAdd",
"name": course,
"ajax" : "true"
};
console.log("Starting AJAX call");
$.ajax({
type: "GET",
url: SERVICE_URL,
data: data,
contentType: "application/json",
success: function(response) {
console.log("Success!");
console.log(response);
alert("the course "+ course + "has been added");
loadAllCourses();
}
});
console.log("end of mod retrieval")
}
该函数使用此代码从$(document).ready() function
$(document).on("click", "#saveNCourse", function(event){
var name = $("#ncName");
addCourse(name);
});
如果有人可以简单解释一下非法调用的内容和/或向我展示我在这段代码中出错的地方,我会非常感激。
由于
答案 0 :(得分:3)
看到这导致了问题:
var name = $("#ncName"); // you have to get the value/text of it
addCourse(name);
因此您可以将其更改为:
var name = $("#ncName").val(); // $("#ncName").text(); in case if it is not a form control.
addCourse(name);