data.json代码:[{"name": "张三", "age": 18}, {"name": "李四", "age": 18}, {"name": "王五", "age": 19}]
html代码:<ul>
          <li v-for="item in newData">
{{item.name}}{{item.age}}
</li>
</ul>
js代码:var app = new Vue({
"el": "#app",
data: function () {
var newData = '';
$.ajax({
url: "./data.json",
async:false,
type: "get",
dataType: "json",
catch: false,
success: function (data) {
newData = data;
console.log(typeof newData);
}
});
return {
newData: newData
}
}
});

这是自己写的一个小vue例子,想用vue的v-for循环绑定数据,中间出了很多问题,总结:

1.一开始ajax请求里没写代码中标红的一行,结果页面上就是不出现,加了他就出现,忽然明白ajax默认异步请求,数据还没请求过来就绑定上去,肯定不行啊,所以异步请求要谨慎,还是要研究一下里面的每个参数啊,需要传数据还要加上data选项,它是发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。如下。

2.找了一个豆瓣的开放接口:https://api.douban.com/v2/book/search,ajax请求需要传参数就要这样:

    function handleResponse(data) {
console.log(2);
}
    $.ajax({
async : true,
url : "https://api.douban.com/v2/book/search",
type : "GET",
dataType : "jsonp", // 返回的数据类型,设置为JSONP方式
jsonp : 'callback', //指定一个查询参数名称来覆盖默认的 jsonp 回调参数名 callback(感觉不重要,不用写)
jsonpCallback: 'handleResponse', //设置回调函数名
(感觉这个是传给服务端函数名,服务器会根据你传过来的函数名,把你请求的数据放在这个函数的形参里,你前台定义这个函数并且在函数里处理这个函数就可以了,先执行这个函数,再执行success函数)
data : { q : "java", count : 1 }, success: function(response, status, xhr){ console.log('状态为:' + status + ',状态是:' + xhr.statusText); console.log(response); } });
如果指定了 script 或者 jsonp 类型,那么当从服务器接收到数据时,实际上是用了 <script> 标签而不是 XMLHttpRequest 对象。这种情况下,$.ajax() 不再返回一个 XMLHttpRequest 对象,并且也不会传递事件处理函数,比如 beforeSend。
默认情况下,请求总会被发出去,但浏览器有可能从它的缓存中调取数据。要禁止使用缓存的结果,可以设置 cache 参数为 false。如果希望判断数据自从上次请求后没有更改过就报告出错的话,可以设置 ifModified 为 true。也就是在ajax()的参数里加一行ifModified:true。

最新文章

  1. PROJ4初探(转并整理格式)
  2. HDU 2836 (离散化DP+区间优化)
  3. 锋利的jQuery-1--end()
  4. 基于TF/IDF的聚类算法原理
  5. sqlserver 批量删除相同前缀名的表
  6. FFT [TPLY]
  7. spring 自定义事件发布及监听(简单实例)
  8. 【干货】提取图片元数据之exiftool
  9. isinstance_issubclass
  10. mybatis 中 foreach collection的三种用法
  11. Linux部署笔记分享
  12. COM接口调用,CreateDispatch失败的问题
  13. Hive记录-Beeline常用操作命令
  14. 跨站请求伪造和csrf_token使用
  15. IDEA使用笔记(二)——常用快捷键
  16. Qt自定义控件大全(一)云台仪表盘控件
  17. Could NOT find SDL_image (missing:SDL_IMAGE_LIBRARIES SDL_IMAGE_INCLUDE_DIRS)
  18. 模拟函数调用 Simulation Exclusive Time of Functions
  19. Spring学习(五)——集成MyBatis
  20. Could not parse UiSelector argument: &#39;XXX&#39; is not a string 错误解决办法

热门文章

  1. C#冒泡排序(完整代码)
  2. log4net 日志打印不全
  3. Java基础知识点1
  4. 2018 ACM-ICPC 亚洲区域赛青岛现场赛 —— Problem F. Tournament
  5. jmeter进行https协议的测试
  6. mxonline实战7,模板继承和模板标签
  7. React Native vs. Cordova.
  8. clang命令理解程序
  9. Linux之E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
  10. knova绘制矩形