用ajax把table中的内容传到后台,但是试了几种方法ajax不会调用后台,才发现是请求参数值过长导致。
下面是解决方案:
修改使用的XMLHTTP的请求为POST,并且把参数和URL分离出来提交
function sAjaxRequest(){
var record = save_record();
xmlRequest = getXMLHttpRequestObject();
alert("xmlRequest"+xmlRequest);
if(xmlRequest==null){
alert("您的浏览器不支持AJAX!");
return false;
}
var url = "sendoasys.do";
var para = "record="+encodeURIComponent(record); ----- encodeURIComponent 函数的应用
xmlRequest.onreadystatechange = dataChanged;
xmlRequest.open("POST",url,false); -----提交方式未post
xmlRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
xmlRequest.send(para); // 发送请求 -----请求参数单独提交
}
注: encodeURIComponent 返回一个包含了 charstring 内容的新的 String 对象(Unicode 格式), 所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。 字符的值大于 255 的用 %uxxxx 格式存储。参见 JavaScript 的 encodeURIComponent() 方法.
分享到:
相关推荐
在实际开发中,前端可以通过Ajax等方式构建POST请求,并将超长字符串封装为JSON格式进行发送。后端通过相应的注解(如Spring框架中的`@RequestBody`)来接收这些数据。 #### 2.2 前端实现示例(Vue.js) 以Vue.js...
在ajax中使用post方法,用常规的参数格式:param1=a1¶m2=a2 ,当参数长度过长时,依然提交不成功。比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application...
### AJAX传递中文参数乱码解决办法 在Web开发过程中,数据传输是不可或缺的一部分,而AJAX作为一种无需重新加载整个页面的情况下就能与服务器交换数据的技术,被广泛应用于动态数据交互场景中。然而,在处理中文等...
首先,理解问题的关键在于JavaScript数组在传递给后台时,如果数组内包含的是对象,会被转化为`[object Object]`的字符串形式。这是因为HTTP请求的参数通常是键值对,而`request.getParameterValues()`方法只能接收...
**一、前端使用AJAX传递JSON数组** 在前端,我们需要创建一个JSON数组并使用XMLHttpRequest对象或者更现代的fetch API来发送AJAX请求。以下是一个使用jQuery库的例子: ```javascript var data = [ { "name": ...
在Web应用中,通常使用JavaScript来增强用户体验,尽管JavaScript不直接支持OLE DB操作,但可以通过AJAX异步请求与服务器端的代码(如ASP.NET或PHP)交互,传递连接字符串。例如,JavaScript可以生成用户输入的连接...
例如,服务器端有一个方法`getString()`返回一个字符串,DWR会自动将这个字符串传递给JavaScript回调函数。这在显示消息、错误信息或者简单的数据交换中非常有用。 2. **返回对象**: DWR支持将Java对象转换为JSON...
// 将字符串转换为JSON对象 JSONObject jsonObject = new JSONObject(mess); // 获取其中的值 jsonObject.getInt("Id"); // 含有特殊字符的文本需要先进行转码 String text = URLDecoder.decode(jsonObject....
这通常发生在通过AJAX传递JSON数据到服务器时,浏览器或者中间件为了转义可能会在数据中加入反斜杠。本内容将详细介绍如何在PHP中处理这种情况,包括如何去除JSON字符串中的反斜杠以及如何处理双引号前的反斜杠问题...
因此在这里用SpringMVC+Ajax做一个简单的小例子,同时辅助以拼接字符串显示。希望能为大家带来帮助。 本次案例的配置仍然是在上一篇SpringMVC的简单增删改查(SSM整合)的基础上再辅助配置Jackson的jar包。 服务器...
当请求状态改变时,我们检查readyState(表示请求的进度)和status(表示HTTP状态码),如果请求成功(通常200表示成功),我们通过`JSON.parse()`解析返回的Json字符串。 在后台,通常使用服务器端语言处理Json...
在 jsonData() 函数中,使用 eval() 函数将 JSON 字符串转换为 JSON 对象,并返回该对象。该对象包含了名称和 ID 两个属性,分别对应着 JSON 数据中的 "name" 和 "id" 属性。 在服务器端代码中,使用 ASP.NET 语言...
在JS中,当你通过Ajax(如jQuery的$.ajax或$.post)传递包含特殊字符的字符串时,特别是+号和&号,它们会被自动解析。+号通常被解析为空格,这是因为+在URL编码中代表空格;而&号在URL中用于分隔参数,表示键值对的...
### 利用Ajax传递Xml文档:深入解析与实践 在Web开发中,异步JavaScript和XML(Ajax)技术被广泛用于实现网页与服务器之间的异步数据交换,从而提升用户体验,减少页面重载次数。本文将深入探讨如何使用Ajax来传递...
本篇将深入探讨如何在JavaScript中进行JSON字符串与JavaScript对象之间的转换,并提供相关的源码示例。 **一、JSON.stringify()方法** 在JavaScript中,将JavaScript对象转换为JSON字符串,通常会用到`JSON....
在最初的例子中,Ajax传递的data对象直接是一个JavaScript对象。这种方式传递的数据在请求体中以`application/x-www-form-urlencoded`格式发送,适用于简单的键值对数据传递。 文章进一步讲解了通过`JSON.stringify...
//解决乱码问题,没有这句,回调函数的内容可能乱码 ServletActionContext.getResponse().getWriter().write(“字符串内容”);//在写入之前执行上面一句,可以解决乱码 您可能感兴趣的文章:jQuery Ajax Post 回调...
这里使用了 `eval()` 函数来将字符串形式的JSON数据转换为JavaScript对象。需要注意的是,尽管这种方法简单有效,但由于安全性和性能方面的原因,在实际开发中并不推荐使用 `eval()` 函数。一个更好的做法是使用 `...
在DWR中,当需要发送XML数据到服务器时,可以创建一个XML字符串,然后作为参数传递给DWR的远程方法。同样,服务器响应也可以是XML格式,DWR会自动将其转换为JavaScript对象,以便在客户端处理。 3. **客户端XML...
键是字符串,用双引号包围,而值可以是多种数据类型:字符串、数字、布尔值、数组、对象或者null。例如: ```json { "name": "John", "age": 30, "isStudent": false, "hobbies": ["reading", "gaming"], ...