-
-
[求助]jQuery的JSONP跨域请求及其回调函数问题
-
发表于: 2014-3-5 17:20 1444
-

我特别困惑的就是JSONP的回调函数.
像这样的请求:318K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4S2^5P5q4)9J5k6h3y4G2L8g2)9J5c8Y4q4#2k6i4y4&6i4K6y4r3i4@1f1#2i4K6S2r3i4K6R3J5i4@1f1$3i4K6V1#2i4@1t1H3x3g2)9K6c8s2S2^5P5q4)9J5y4X3y4S2L8r3I4T1j5h3y4C8i4K6y4p5P5s2S2^5P5s2S2^5P5q4!0q4y4g2)9^5y4#2!0n7c8q4!0q4y4W2)9&6y4g2!0n7x3q4!0q4y4g2)9&6x3q4)9^5c8l9`.`.
这样的GET请求,JQuery可以随机生成函数名,服务器能响应,为什么?
服务器的响应数据:
jQuery164015615330513046433_1394007405745({'success':true,'msg':'XX'}
前面那个就是jQuery随机生成的函数名.但是我自己构造的HTTP请求随意填写callback的值,为什么服务器就不响应?(其他参数值保证正常)

我查阅了多本书,书基本没讲明白.....
-------------------------------------------
以下是我的过程,不知道是否有问题.
我在一网站看到手机短信验证注册的功能,我就想自己能不能构造数据让服务器
发送SMS信息.
这是我捕获到的HTTP包:
方式:GET----注:原网址:85dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6Z5i4K6u0W2x3e0j5K6i4K6u0W2j5$3!0E0i4K6u0r3M7X3g2Y4i4K6u0r3i4K6u0W2i4K6u0W2i4K6u0W2i4K6u0W2i4K6u0W2i4@1f1$3i4K6V1^5i4@1u0q4i4@1f1%4i4K6R3@1i4@1t1$3i4@1f1$3i4K6V1^5i4@1q4r3i4@1f1^5i4@1t1%4i4@1p5^5i4@1f1#2i4K6W2r3i4K6W2r3i4@1f1^5i4@1q4r3i4@1t1%4i4@1f1$3i4@1t1I4i4K6R3J5i4@1f1@1i4@1u0m8i4K6R3$3
请求的URL是67fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6W2j5Y4g2J5M7#2)9J5k6h3E0#2i4K6u0W2x3e0j5K6i4K6u0W2j5$3!0E0i4K6u0r3M7i4g2A6j5$3E0d9k6h3N6Q4x3V1k6K6k6h3&6V1e0h3!0T1K9h3I4W2b7$3q4H3N6r3y4Z5j5g2)9K6c8Y4m8J5L8$3#2S2M7X3E0Q4x3@1c8I4k6i4m8#2M7$3H3@1y4g2)9J5y4X3W2V1i4K6y4p5L8Y4g2D9L8q4)9J5y4X3!0#2N6s2m8#2N6q4)9K6c8r3A6K6L8$3&6Q4x3U0k6E0i4K6g2X3N6i4y4W2M7X3&6S2L8h3g2Q4x3@1b7I4z5o6M7&6y4K6f1J5x3e0M7J5x3#2)9J5y4X3y4S2L8r3I4T1j5h3y4C8i4K6y4p5K9W2q4#2k6i4u0&6x3e0j5@1x3o6p5#2y4U0p5#2x3K6x3H3y4e0p5K6x3o6b7$3y4o6x3K6i4K6g2X3x3e0x3&6y4o6l9H3y4K6b7H3y4e0M7@1y4W2)9J5y4W2)9#2k6W2)9K6c8o6p5K6z5e0b7H3x3o6R3K6x3U0M7$3x3K6l9`.
请求头部:
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: 518K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6Z5i4K6u0W2x3e0j5K6i4K6u0W2j5$3!0E0i4K6u0r3M7X3g2Y4i4K6u0r3
Connection: keep-alive
原来的请求源代码
function (a, b, c) {--参数a=sendMobileCaptcha
$.ajax({
type: 'get',
async: !1,
url: (/^(submit|regMobile)$/.test(a) ? '150K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6J5k6h3N6Q4x3X3g2F1K9h3g2Q4x3X3f1I4y4U0y4Q4x3X3g2U0L8$3#2Q4x3V1k6%4k6h3u0Q4x3V1k6I4N6h3W2U0K9#2)9J5c8W2)9J5y4H3`.`. : 'd14K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6W2j5Y4g2J5M7#2)9J5k6h3E0#2i4K6u0W2x3e0j5K6i4K6u0W2j5$3!0E0i4K6u0r3M7i4g2A6j5$3E0d9k6h3N6Q4x3V1k6Q4x3U0N6Q4x3U0V1`. + 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
网上也搜索了很久,还是找不到确切的答案....
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
- [原创]C++正则表达式引擎设计与实现(core) 11274
- [原创]UltraISO注册算法&keygen分析(已算出一组注册码) 25135
- [原创]IcoFx2.11算法分析&keygen编写 15824
- [原创]强扩展性IP代理 python开源 8420
- [原创]python IP代理--开源 17059
赞赏
雪币:
留言: