$.getJSON.回调函数无效

今天搞了一下jquery的$.getJSON(sUrl,mData,fCallback);

 

这个可以跨域请求,

 

参考jquery api demo很容易搞定

 

不过在请求自己的action时回调函数无效

 

js

 $("#btn_json").click(function(){
  //通过时间骗过浏览器缓存
   $.getJSON("example/autocomplete.action?random="+(new Date()).getTime(),null,function(json){

              // alert(json.results[3].name);
               $.each(json.results,function(i,item){
                             $("#email").append("<h1>"+item.name+"</h1>"+"to:"+item.to);
               });
   
   });
 });

 

html

   <div id="getJSon">
        <input type="text" name="json" value="" id="json">
       <input type="button"  id="btn_json" value="loadjson"/>
       <div id="email"></div>
     </div>

 

action

 @Override
 public String execute() throws Exception {
  servletResponse.setCharacterEncoding("UTF-8");
  servletRequest.getParameter("name");
  
   String value = "{\"results\":[{\"name\":\"Peter pan\",\"to\":\"peter@陈.de\"}," +//这里就是问题的关     

     //键:json数据的key必须加引号,否则$.getJSON方法解析不了,就不会调用回调函数
  "{ \"name\": \"Molly\", \"to\": \"molly@yahoo.com\" },"  +
  "{ \"name\": \"Master <em>Sync</em>\", \"to\": \"205bw@samsung.com\" },"  +
  "{ \"name\": \"Don Corleone\", \"to\": \"don@vegas.com\" }," +
   "{ \"name\": \"Donnie Darko\", \"to\": \"dd@timeshift.info\"}"+
    "]}";
  

  PrintWriter out = servletResponse.getWriter();
  out.println(value);
  out.flush();
  out.close();
  return null;
 }

 

一开始网上看了些资料,什么缓存,什么什么的,浮云啊

 

希望对碰到同样问题的同学们有用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值