【************看过来************】
建议大家去搜博客看看jsonp的原生实现,再看看jquery的ajax文档,了解一下各种参数如success函数中的data实际上就是从服务器传回来的,但是因为jquery没有让你看到他的回调函数,你会觉得这个data凭空飞出。
再就是了解,回调的概念,异步的概念,同源策略的概念,这才能把ajax给弄透。
如果说的有什么错的,后来的知道的同学请指正。
建议大家去搜博客看看jsonp的原生实现,再看看jquery的ajax文档,了解一下各种参数如success函数中的data实际上就是从服务器传回来的,但是因为jquery没有让你看到他的回调函数,你会觉得这个data凭空飞出。
再就是了解,回调的概念,异步的概念,同源策略的概念,这才能把ajax给弄透。
如果说的有什么错的,后来的知道的同学请指正。
2017-04-05
【************看过来************】
接刚写的2。因为script不受同源策略约束,所以jsonp才得以实现,而script的src属性使用的是GET请求,因此jsonp是只支持GET而不接受POST的。大家可以理解为,你用<script>载入了一段服务器端返回的代码,而代码中包含一个带有服务器内参数的回调函数,收到回调函数后该函数运行,于是就算是用到了服务器里的数据。
3.因为ajax和jsonp无关,因此本课中的error函数实际上是无法触发的,因为我们压根没用到jqXHR这个对象,老师没讲这点是有点失误的。
接刚写的2。因为script不受同源策略约束,所以jsonp才得以实现,而script的src属性使用的是GET请求,因此jsonp是只支持GET而不接受POST的。大家可以理解为,你用<script>载入了一段服务器端返回的代码,而代码中包含一个带有服务器内参数的回调函数,收到回调函数后该函数运行,于是就算是用到了服务器里的数据。
3.因为ajax和jsonp无关,因此本课中的error函数实际上是无法触发的,因为我们压根没用到jqXHR这个对象,老师没讲这点是有点失误的。
2017-04-05
【************看过来************】
如果以后还有人上这个课的话,我简单讲一下我的理解,只讲关键的部分。
1.这课有些误导新人,上来就用jquery实现jsonp,实际上jsonp和ajax是不相关的东西,只是在jquery里,把jsonp融入到ajax方法中了,让你以为jsonp实际上是ajax下一种跨域的实现。
2.浏览器并不是对所有东西都有同源策略,此处是对ajax有同源策略,意思就是ajax技术里无法跨域,但是浏览器对<script><img>这些有src属性的标签并没有同源策略,jsonp的原理就在于此,通过用script 的 src属性向服务器请求数据。
如果以后还有人上这个课的话,我简单讲一下我的理解,只讲关键的部分。
1.这课有些误导新人,上来就用jquery实现jsonp,实际上jsonp和ajax是不相关的东西,只是在jquery里,把jsonp融入到ajax方法中了,让你以为jsonp实际上是ajax下一种跨域的实现。
2.浏览器并不是对所有东西都有同源策略,此处是对ajax有同源策略,意思就是ajax技术里无法跨域,但是浏览器对<script><img>这些有src属性的标签并没有同源策略,jsonp的原理就在于此,通过用script 的 src属性向服务器请求数据。
2017-04-05
状态 名称 描述
0 Uninitialized 初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置。
1 Open open() 方法已调用,但是 send() 方法未调用。请求还没有被发送。
2 Sent Send() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。
3 Receiving 所有响应头部都已经接收到。响应体开始接收但未完成
4 Loaded HTTP 响应已经完全接收。
0 Uninitialized 初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置。
1 Open open() 方法已调用,但是 send() 方法未调用。请求还没有被发送。
2 Sent Send() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。
3 Receiving 所有响应头部都已经接收到。响应体开始接收但未完成
4 Loaded HTTP 响应已经完全接收。
2017-04-05
最赞回答 / 强制退出
先看。。。 等量变! 光听过php 跟jq 完全不知道写法跟用途 现在看到了php跟jq 基本上都能搞懂上html js ajax 以及php 之间的工作衔接。 现在正好闲暇 看不懂也看看 等质变 啥也不叫事情了
2017-04-03
这个课前面讲的还是不错的,但是跨域这一章确实讲的很一般。。老师的口头禅,,也就是说,,疯狂也就是说。。可能我太笨,没听懂,关于跨域我还是去搜索一下别的博客
2017-04-03
我觉的MDN的解释更为准确,如下
0 UNSENT (未打开) open()方法还未被调用
1 OPENED (未发送) send()方法还未被调用
2 HEADERS_RECEIVED (已获取响应头) send()方法已经被调用, 响应头和响应状态已经返回
3 LOADING (正在下载响应体) 响应体下载中; responseText中已经获取了部分数据
4 DONE (请求完成) 整个请求过程已经完毕
0 UNSENT (未打开) open()方法还未被调用
1 OPENED (未发送) send()方法还未被调用
2 HEADERS_RECEIVED (已获取响应头) send()方法已经被调用, 响应头和响应状态已经返回
3 LOADING (正在下载响应体) 响应体下载中; responseText中已经获取了部分数据
4 DONE (请求完成) 整个请求过程已经完毕
2017-04-03