Node如何获取前端Ajax通过Jsonp传到后端的值?

前端采用Jquery的$.ajax方法,用jsop的方式实现跨域获取后端的值。后端用Node+express搭建的,能够正常获取到后端的值。但是如果ajax带上参数值,像下面这样后端就无法获取到前端传过去的值。

$.ajax({
        type: "get",
        url: "https://www.gooomi.cn/goods?search_value="+search_value,
        dataType: "jsonp",
        jsonp: "jsonpCallback",
        success:function(res){
            console.log(res)
        }
       })
    

node通过res.query.search_value获取,会报错.
请问node应该如何正确获取jsonp传来的值呢?

阅读 2.4k
2 个回答

拿着你的代码跑了下,能够正常接收的。建议检查下代码,看是不是手误写错变量名导致的。

// app.js
const express = require('express')
const app = express()

app.get('/test', function (req, res) {
    res.send(req.query.search_value)
})

app.listen(3000, () => console.log('Example app listening on port 3000!'))
// index.js
<script>
    window.onload = function () {
        initData();
    }

    function initData() {
        $.ajax({
            type: "get",
            url: "http://localhost:3000/test?search_value=" + 555,
            dataType: "jsonp",
            jsonp: "jsonpCallback",
            success: function (res) {
                console.log(res)
            }
        })    
    }   
</script>

结果:

eval / new function

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题