TypeError:$ .ajax在运行ajax请求时不是函数

时间:2016-06-29 04:54:54

标签: javascript jquery ajax api

我没有使用curl,而是使用jsonp格式从api中提取数据。在这里,我使用wit.ai api作为样本参考。我使用以下格式提出了请求。

获取此

的样本卷曲
$ curl \
      -H 'Authorization: Bearer $TOKEN' \
      'https://api.wit.ai/message?v=20160526&q=hello'

现在我的代码

var $ = require('jquery');

$.ajax({
  url: 'https://api.wit.ai/message',
  data: {
    'q': 'set an alarm in 10min',
    'access_token' : 'MY_WIT_TOKEN'
  },
  dataType: 'jsonp',
  method: 'GET',
  success: function(response) {
      console.log("success!", response);
  }
});

然后我在终端中执行节点app.js,发出以下错误。

c:\app.js:3
$.ajax({
  ^

TypeError: $.ajax is not a function
    at Object.<anonymous> (c:\app.js:3:3)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3

为什么我收到错误?有没有其他方法可以使用终端运行ajax?

1 个答案:

答案 0 :(得分:0)

如果您在客户端使用Jquery,请将其包含在模板的<head>标记中:

<script src="jquery-3.1.1.min.js"></script>

如果您在服务器端使用jquery,请使用npm安装jquery,并使用:

require("jsdom").env("", function(err, window) {
    if (err) {
        console.error(err);
        return;
    }

    var $ = require("jquery")(window);
});

我个人不喜欢在客户端使用jquery。