AJAX调用中的非法调用

时间:2015-04-08 10:46:20

标签: javascript jquery ajax

我正在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);
});

如果有人可以简单解释一下非法调用的内容和/或向我展示我在这段代码中出错的地方,我会非常感激。

由于

1 个答案:

答案 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);