`

$.getJSON.回调函数无效

    博客分类:
  • js
阅读更多

今天搞了一下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;
 }

 

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

 

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

 

分享到:
评论

相关推荐

    jquery的ajax校验.zip

    例如,添加一个`beforeSend`回调函数,在请求发送前进行数据校验。 4. **`beforeSend`回调**:在每个具体的Ajax请求中,可以定义`beforeSend`函数,这个函数会在实际发送请求前执行,如果返回`false`,则阻止请求...

    轻松搞定jQuery+JSONP跨域请求的解决方案

    在jQuery中,实现JSONP主要依靠`$.getJSON()`或`$.ajax()`方法。在`$.getJSON()`的例子中,我们看到以下关键点: 1. **URL参数**:在请求URL后面添加`callback=?`,jQuery会自动替换`?`为一个动态生成的回调函数名...

    ASP.NET+jquery实现AJAX滚动滚动条加载数据的下拉列表控件

    因此,更推荐使用jQuery的Ajax方法(如$.ajax或$.getJSON)来实现定制的异步请求。 以下是实现滚动加载的步骤: 1. **HTML结构**:首先,创建一个下拉列表(select)控件,设置合适的高度,以便在滚动时触发加载...

    Ajax获取回调函数无法赋值给全局变量的问题

    然而,由于Ajax的异步特性,有时会出现回调函数中的数据无法正确赋值给全局变量的问题。这个问题在实际开发中很常见,特别是对于新手开发者来说可能会感到困惑。下面我们将详细讨论这个问题及其解决方案。 首先,...

    jquery 做的一些小应用

    例如,`$.ajax({url: "data.txt", type: "GET", success: function(data) {...}})`将获取指定URL的数据并在成功时执行回调函数。而`$.getJSON()`和`$.getScript()`则分别用于获取JSON数据和加载JavaScript脚本。 在...

    P22_Ajax.rar_Ajax开发

    例如,jQuery的`$.ajax()`或`$.get()`、`$.post()`等方法。 7. **前端路由**:随着单页应用程序(SPA, Single Page Application)的流行,前端路由成为Ajax应用的重要组成部分。它允许用户在不刷新页面的情况下,...

    前端项目-jquery.devbridge-autocomplete.zip

    6. **Ajax请求**:对于远程数据源,jQuery的Ajax方法(如`$.ajax`或`$.getJSON`)用于异步获取匹配项,确保页面的流畅性。 7. **DOM操作**:jQuery提供了丰富的DOM操作方法,用于创建、修改和插入HTML元素,比如在...

    jquery淘宝商城选择商品尺寸与大小颜色功能

    当用户做出无效选择(如超出库存或选择不存在的组合)时,使用`jQuery`的事件监听和回调函数可以即时给出错误提示。 ### 9. 提交订单 最后,当用户确认选择后,`jQuery`可以收集所有选定的属性值,将其封装成JSON...

    Jquery版本导致Ajax不执行success回调函数

    jQuery中的$.ajax()函数是实现Ajax的核心方法,它包含了一系列配置选项,如type(请求类型,如GET或POST)、url(请求地址)、data(发送的数据)、success(数据成功返回时的回调函数)等。 在描述中提到的问题中...

    jquery.form.js和使用说明

    // 提交成功后的回调函数,response为服务器返回的数据 alert('表单提交成功!'); }, error: function() { // 提交失败时的回调函数 alert('表单提交失败!'); } }); ``` 这使得用户在提交表单时无需等待页面...

    jQuery拖动选择时间段考勤记录图表代码

    这可能涉及到Ajax请求,如`$.ajax()`或`$.getJSON()`,用于异步通信。 7. **CSS布局与样式**:`css`文件包含项目的样式规则,定义了图表的外观,包括选区的颜色、边框、阴影等。使用CSS,可以实现响应式设计,使...

    php调用快递100api示-json返回值

    这里的`file_get_contents`函数用于从指定URL获取远程内容,将返回的JSON字符串存储在变量$r中。然后,使用`assign`方法(这通常在某些PHP模板引擎中使用)将数据传递给前端展示。 前端部分,这里使用jQuery来处理...

    js与jQuery终止正在发送的ajax请求的方法

    在jQuery中,大多数AJAX方法,如`$.get()`, `$.post()`, `$.ajax()`, `$.getJSON()`, 和 `$.getScript()`等,都是基于`XMLHttpRequest`对象实现的,因此同样可以调用`abort()`方法来终止请求。 例如,使用jQuery的`...

    Ajax表单验证,初级,适合入门新学者用。

    虽然原生XMLHttpRequest使用起来略显复杂,但库如jQuery提供了更简洁的API来处理Ajax请求,如`$.ajax()`、`$.get()`和`$.post()`等。它们简化了异步请求的编写,并提供了丰富的错误处理和回调选项。 七、最佳实践 -...

    ajax表单验证例子

    5. **回调函数**:在AJAX的`onreadystatechange`事件中,我们通常设置一个回调函数,当服务器响应状态改变时,这个函数会被调用。通过检查`readyState`和`status`属性,我们可以判断请求是否完成并成功。 6. **DOM...

    ajax验证表单

    JavaScript的回调函数处理服务器的响应,根据返回的状态码和数据更新界面。例如,显示错误提示信息,或者在验证成功后允许用户继续操作。 7. **用户体验**: 使用Ajax进行表单验证的一大优点是提升了用户体验。...

    AJAX开发简略 配文代码

    4. 监听状态变化:使用`onreadystatechange`事件,当请求状态改变时触发回调函数。 5. 处理响应:当状态变为4(完成)且状态码表示成功(如200)时,读取`responseText`或`responseXML`获取服务器返回的数据。 ### ...

    Ajax异步处理封装

    在这个封装函数中,我们传入了URL、请求类型(GET或POST)、回调函数以及POST请求的数据。调用这个函数时,只需提供相应的参数,即可发起Ajax请求。 三、异步处理 异步处理是Ajax的核心特性。传统的HTTP请求会导致...

    form表单的异步回调方法

    4. **回调函数(Callback Functions)**:在异步请求中,我们通常需要定义回调函数来处理服务器的响应。对于`fetch`,可以使用`.then`和`.catch`来处理成功的响应和错误。对于`XMLHttpRequest`,可以监听`...

    jquery教案ppt

    5. **回调函数**:介绍`.success()`, `.error()`, `.complete()`等回调函数的使用。 ### 五、实例解析 通过一系列实例,教程将展示如何使用jQuery实现常见网页交互,如: 1. **动态加载内容**:利用Ajax请求获取...

Global site tag (gtag.js) - Google Analytics