关于Ajax中通过response在后台传递数据问题

这是js代码:

var System = {
  getHttpRequest: function(url, callback, options) {
    if (url.length < 0) return;
    var option = {
      url: url,
      type: "get",
      dataType: "json",
      cache: false,
      timeout: 30000,
      beforeSend: function(XHR) {
      },
      complete: function(XHR, textStatus) {
        XHR.abort();
      },
      error: function(XMLHttpRequest, textStatus, errorThrown) {
        //alert("网络连接不通,请稍后再试!");
      },
      success: function(data) {
        callback(data, options);
      }
    };
    if ( !! options) {
      option = $.extend(option, options);
    }
    $.ajax(option);
  }
}; 

当我想要通过回调函数success获取data时,一开始我是直接在后台return一个json字符串,结果会报异常,没定义方法什么的,后来查了下,需要通过response.getWriter().write()方法写入数据,success中才能获取到数据。后台代码如下:

public String getRejectReason() throws Exception{
    String rowId = getParameterAndPut("rowId",null,0).toString();
    String jsonData = "";
    if (StringUtils.isNotEmpty(rowId)) {
      jsonData = newOwnerInfoService.getRejectReasonJsonData(rowId);
    }
    this.getResponse().setCharacterEncoding("utf-8");
    this.getResponse().getWriter().write(jsonData);
    return null;
} 

总结

以上所述是小编给大家介绍的Ajax中通过response在后台传递数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Ajax Throws Sys.WebForms.PageRequestManagerErrorException with Response.Redirect的解决方法

    其实以前也遇到过这种错误,选择的是逃避!! 哈哈 第一步:把'NT AUTHORITY\NETWORK SERVICE' 添加到Administrator组中 我的电脑-->右键-->管理-->本地用户和组 选择"组"-->双击Administrators-->单击"添加"-->单击"高级"-->单击"立即查找"-->在下面的列表中选择Network Service用户-->

  • Ajax request response 乱码解决方法

    此功能已进入试用一周了,都没有问题,奇怪的是今天出现了问题?? 复制代码 代码如下: AjaxRequestObj.createEqStatusParameter=function() {     if (eqStatusArray.length < 1) {         return;     }     var paramNameArray = new Array();     var paramValueArray = new Array();     //取状态数组     for

  • ajax的responseText乱码的问题的解决方法

    关于ajax的responseText乱码的问题这个问题让我和纠结百度了好多都说是javascript的编码问题但是我的 javascript的编码是和myeclipse一样的为什么还会出现问题.最后猜测可能是服务端没有设置返回的字符的 返回类型.只需在服务端加上 复制代码 代码如下: response.setcontentType("text/html") response.setcharacterEncoding("charset")返回的字符编码是类型.

  • Ajax中responseText返回的是一个页面而不是一个值

    自己在struts2中的写好了业务逻辑用response返回的内容却是一个页面的! 然后就去了百度一下,说的是将struts2的返回值设为null(return null),这是因为struts2返回的是一个页面.如果在action中只进行业务逻辑不需要跳转页面的可以将String 类型改为void.这样返回的就不是整个页面了.

  • jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML

    摘要:本节补充ajax学习笔记1中 第二种方式:使用XMLHttpRequest对象的responseXML的方式来接受XML数据对象的DOM对象 在ajax学习笔记1中已经对准备工作和需要用到的知识做了比较详细的介绍,本节主要介绍需要修改的代码以及新增的代码 .新增一个servlet类 AJAXXMLServer.java 复制代码 代码如下: import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServle

  • ajax的 responseXML返回接受 asp

    第一个文件   index.asp <script language="javascript"> var xmlHttp = false;    //ajax使用 try {   xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {   try {     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");   } ca

  • 关于Ajax中通过response在后台传递数据问题

    这是js代码: var System = { getHttpRequest: function(url, callback, options) { if (url.length < 0) return; var option = { url: url, type: "get", dataType: "json", cache: false, timeout: 30000, beforeSend: function(XHR) { }, complete: fun

  • Android中Service实时向Activity传递数据实例分析

    本文实例讲述了Android中Service实时向Activity传递数据的方法.分享给大家供大家参考.具体如下: 这里演示一个案例,需求如下: 在Service组件中创建一个线程,该线程用来生产数值,每隔1秒数值自动加1,然后把更新后的数值在界面上实时显示. 步骤如下: 1.新建一个android项目工程,取名为demo. 2.新建一个Service类,用来实时生产数值,供界面实时显示. package com.ljq.activity; import android.app.Service;

  • herf=#导致Ajax请求时没有向后台发送数据

    今天在做右键菜单,当点击重命名进行Ajax请求时,并没有向后台发送数据而是直接跳转到了首页.朕百思不得其解,后来在前台页面发现一个问题: 复制代码 代码如下: <span style="font-size:24px;"><li><a href='#' onclick="renameContactsFunction()">重命名</a></li></span> 原来就是这个herf='#'惹的祸.

  • Vue中Axios从远程/后台读取数据

    Axios从远程读取数据 学习Axios的知识,并把数据从远端读取到页面上.后端数据,只要调用相应的页面就可以调取,在实际开发中,这些后台数据是需要后端程序员和你共同讨论制作的.我们现在只做前端,数据大家只要会调用即可. 安装Axios 我们直接使用npm install来进行安装. cnpm install axios –save 由于axios是需要打包到生产环境中的,所以我们使用–save来进行安装. 引入Axios(在哪个模块中使用就在哪个模块中引入) 我们在.vue页面引入Axios,

  • 在Ajax中使用Flash实现跨域数据读取的实现方法

    Ajax的跨域操作一直是一个难题,现目前主要的解决方法主要有: 1.JSONP(需要在服务器端支持) 2.IFrame(仅能在子域间操作) 3.页面代理(这个有点万能) 4.Access-Control-Allow-Origin(新版浏览器支持,需要在服务器端设置Header) 今天,小子再提供一种使用Flash进行跨域操作的方法.众所周之,其实Flash的跨域操作也是有限制的,不过,Flash的跨域配置比简单,只需要在站点根目录下放置crossdomain.xml即可.至于crossdomai

  • ajax中设置contentType: "application/json"的作用

    最近在做项目交互的时候,刚开始向后台传递数据返回 415 ,后来百度添加了 contentType:"application/json" 之后返回400,然后把传输的数据格式改为json字符串就传输成功了,现在我们来看看 contentType:"application/json"的作用: 添加 contentType:"application/json"之后,向后台发送数据的格式必须为json字符串 $.ajax({ type: "p

  • C++通过Callback向C#传递数据的方法

    现在比较流行C#与C++融合:C#做GUI,开发效率高,C++做运算,运行效率高,二者兼得. 但是C++与C#必然存在数据交互,C#与C++dll的数据交互从来都是一个让人头疼的问题. 从调用方式看也有两种情况: 1.C#调用C++函数 这种情况用的比较多,数据流向可以是C#流向C++,通过参数将数据传递给C++(如:SetData(double[] data)):也可以是C++流向C#(如:GetData(double[] data)). 2.C++ Callback 这种情况是C++中通过C

  • Java中前台往后台传递多个id参数的实例

    1.传字符串的形式,字符串中每个id用 "," 隔开 打印出来如下形式: 前台JS代码 function saveRoleAdd() { var roleNames = $('#roleNames').textbox("getText"); var roleDetail = {}; roleDetail.roleNames = roleNames; roleDetail.roleFunctionCount = 0; roleDetail.roleFunctionLi

  • ajax异步读取后台传递回的下拉选项的值方法

    jsp中html相关代码 <tr> <td class="tdcell_word2">请选择展会:</td> <td class="tdcell_word3" colspan="3"> <select name="select" id="jieci" onchange="getChange()"> <option valu

  • 探讨.get .post .ajax ztree 还有后台servlet传递数据的相关知识

    servlet给前台传递data串 用的方法是 PrintWriter out = response.getWriter(); // response.sendRedirect("test.jsp"); String s = "[{'id':'1', 'pId':'0', 'name':'test1'},{'id':'11', 'pId':'1', 'name':'test11'}, {'id':'12', 'pId':'1', 'name':'test12'}, {'id'

随机推荐