在Node.js中无法识别jsonp回调函数名称

时间:2017-09-05 13:05:49

标签: javascript node.js jsonp

使用ajax通过jsonp函数“callback1”传输jsonp数据

   <script type="text/javascript">
        $(document).ready(function () {
            $('#link').click(function () {
                $.ajax({
                    url: 'http://127.0.0.1:2000',
                    dataType: "jsonp",
                    jsonp: "callback1",
                    success:function(data){
                        $('#result').val('my name is ' + data.name);
                    }
                });
            });
        });
    </script>
下面的

是服务器端

var http = require('http');
var url = require('url');
var port = 2000;
var data = { 'name': 'ss', 'age': 10 };
http.createServer(function (req, res) {
  var params = url.parse(req.url, true);
  if (params.query && params.query.callback) {
    console.log(params.query);
    var str = params.query.callback1 + '(' +JSON.stringify(data)+')';
    console.log(str);
    res.end(str);
  } else {
    res.end(JSON.stringify(data));
  }

}).listen(port,function(){
  console.log('server is listening on port ' + port);
});

附件是我在chrome控制台中遇到的错误。 enter image description here

但是当我以这种方式更改Ajax时:jsonp: "callback" 并以这种方式修改服务器代码:

var str = params.query.callback + '(' +JSON.stringify(data)+')';

它可以工作。

任何人都可以帮助检查为什么我不能使用“回调”以外的其他jsonp函数名称?

0 个答案:

没有答案