我一直在使用jquery的$.ajax()功能从节点服务器向其他外部api服务器发出异步http请求。
我现在想升级我的库,但是

....
/jquery/node_modules/jsdom/lib/jsdom/level1/core.js:418
   set nodeName() { throw new core.DOMException();},
               ^^

SyntaxError: Setter must have exactly one formal parameter.

我怎样才能纠正这个错误?
是否有与$.ajax()同样灵活的图书馆?我对promise和$.ajaxprefilter()功能特别感兴趣。

最佳答案

是的,node有一个名为request的模块,它可以做比您使用$.ajax时可能做得更多的事情。他们页面中的基本示例:

var request = require('request');
request('http://www.google.com', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Show the HTML for the Google homepage.
  }
})

https://github.com/request/request
就承诺而言,你可以用像蓝鸟这样的图书馆承诺任何你想要的东西:http://bluebirdjs.com/docs/getting-started.html
服务器上的jquery是完全不必要的——只要快速撕下绷带,它就不会那么疼了:)
编辑
添加默认值非常容易。就这么做
var req = request.defaults({
  token: myToken,
  ...
})

var payload = { ... }

req.get(payload, function(err, res, body){
  ...
})

07-24 09:38
查看更多