1
FEDT 2017-05-04 01:55:26 +08:00 via Android
jsonp 只能是 get 请求吧
|
2
zhihaofans 2017-05-04 02:11:17 +08:00 via iPhone
jsonp 只能 get 吧?
你可以翻一翻文档 http://api.jquery.com |
3
think2011 2017-05-04 04:44:50 +08:00
不能,你需要明白 jsonp 的原理。
|
4
aaronlam 2017-05-04 08:34:27 +08:00 via iPhone
jsonp 是动态添加 script 标签用的是 GET 请求
|
5
DingJZ 2017-05-04 08:52:28 +08:00
jsonp 肯定是 get
|
6
LeeSeoung 2017-05-04 09:08:03 +08:00
回复楼上各位 jsonp post 跨域方案: http://www.jb51.net/article/68980.htm
|
7
jyz19880823 2017-05-04 09:25:13 +08:00
@LeeSeoung 这就不叫 jsonp 了吧
|
8
wly19960911 2017-05-04 09:29:27 +08:00 via Android
jsonp 不是 ajax,jsonp 不是 ajax,jsonp 不是 ajax,
jQuery 把 jsonp 加入 ajax 的形式可能会误导人, |
9
f0rger 2017-05-04 09:37:37 +08:00 via iPhone
jsonp 只能是 get,上面那个跨域 post 的明显都改成 json 接收参数了。你们 2 个都好好了解一下 jsonp 吧
|
10
ilaipi OP 谢谢大家,不知道怎么说,感觉关注点有点偏了,是不是需要先弄清楚这个网站的这个 jsonp 请求,我模拟的时候一定也要是 jsonp 吗?
我是在做小爬虫 |
12
LeeSeoung 2017-05-04 10:05:31 +08:00
#7 #9 #11 我说是跨域 POST 解决方案。。能好好理解清楚我说的意思不?
|
13
LeeSeoung 2017-05-04 10:06:25 +08:00
|
14
wuhuaji 2017-05-04 10:08:10 +08:00
https://whj.site/2016/04/15/how-to-cross-site/ 一篇文章看明白什么 jsonp 是如何工作的。
|
17
zhangsan 2017-05-04 11:16:09 +08:00 1
你们的回复都笑死我了,啥是 jsonp,jsonp 是为了解决浏览器的同源策略,利用 js 的( src )可跨域属性实现的一种跨域请求方法。
jsonp 只出现在 前端浏览器,跟后端一点关系都没有。 后端想 post 还 get 完全是看心情。 回复一句“ jsonp 肯定是 get 的”,要搞懂本质啊 |
18
lilydjwg 2017-05-04 11:16:17 +08:00
@LeeSeoung #12 那个是跨域 POST,搜「 MDN CORS 」有详细的教程。jsonp 只能 GET,因为 HTML 加载脚本只能用 GET 方式。
你想要 POST,请使用「跨域 POST 」的方式,不要用「 jsonp 」。 |
19
lilydjwg 2017-05-04 11:18:34 +08:00 1
如果你要模拟这个请求,用普通的 HTTP GET 就行了。因为它就是普通的 HTTP GET。你在网络请求上点右键,可以选择「复制为 cURL 命令」,就能得到这个请求发出的具体方法。
|
20
LeeSeoung 2017-05-04 11:21:29 +08:00
@lilydjwg 怪我表述不清。。之前想跨域 post 发现 jsonp 搞不定 POST,后来发现上面那篇文章搞定了跨域 POST
|
21
wc951 2017-05-04 13:42:21 +08:00 via Android
谁说 jsonp 只是前端的事,后端不提供支持,你拿头去跨域回调
|
22
mingyun 2017-05-04 23:15:52 +08:00
17 楼正解
|
24
ilaipi OP @lilydjwg 这个网站用 jq 的 ajax 方法,指定 method 是 post,这样的请求不算「跨域 POST 」的方式么?虽然代码里写了`method: 'post'`,但是又写了`dataType: jsonp`,然后就会让`method: post`失效了么?
好消息是,刚刚我模拟这个 get 请求成功了。之前一直写成 post,总是模拟不成功,改成 get 成功了,太棒了。 |