首页
社区
课程
招聘
[求助]jQuery的JSONP跨域请求及其回调函数问题
发表于: 2014-3-5 17:20 1253

[求助]jQuery的JSONP跨域请求及其回调函数问题

2014-3-5 17:20
1253
最近对javascript感兴趣,尤其是jQuery框架.
我特别困惑的就是JSONP的回调函数.
像这样的请求:www.xxx.com/quesy?参数1=xxx&callback=xxxxxxx函数名
这样的GET请求,JQuery可以随机生成函数名,服务器能响应,为什么?
服务器的响应数据:
jQuery164015615330513046433_1394007405745({'success':true,'msg':'XX'}
前面那个就是jQuery随机生成的函数名.但是我自己构造的HTTP请求随意填写callback的值,为什么服务器就不响应?(其他参数值保证正常)服务器不会返回任何数据,我感觉太奇怪了,哪位大大能帮帮我解答问题?
我查阅了多本书,书基本没讲明白.....

-------------------------------------------
以下是我的过程,不知道是否有问题.
我在一网站看到手机短信验证注册的功能,我就想自己能不能构造数据让服务器
发送SMS信息.
这是我捕获到的HTTP包:
方式:GET----注:原网址:http://wh.163.com/reg/.....显然是跨域请求了
请求的URL是http://weburs.ku.163.com/quickReg/sendMobileCaptcha?promark=qepusl45&id=null&output=json&m_username=18797521723&callback=jQuery164015615330513046433_1394007405746&_=1394008327630
请求头部:
Host: weburs.ku.163.com
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: */*
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://wh.163.com/reg/
Connection: keep-alive

原来的请求源代码

function (a, b, c) {--参数a=sendMobileCaptcha
        $.ajax({
            type: 'get',
            async: !1,
            url: (/^(submit|regMobile)$/.test(a) ? 'https://reg.nie.163.com/web/quick/' : 'http://weburs.ku.163.com/quickReg/') + a + '?' + z($.extend({
                promark: A,
                id: E,
                output: 'json'
            }, b)),--此处b为函数,简单处理字符串生成m_username=18797521723
            dataType: 'jsonp',
            success: function (a) {
                c(a)
            }
        })
    },

看源代码附加的data就只有:
promark=qepusl45
id=null
output=json
m_username=18797521723
至于
callback=jQuery164015615330513046433_1394007405746--随机回调函数名
_=1394008327630
这个是什么就不清楚了:_=1394008327630
网上也搜索了很久,还是找不到确切的答案....

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//