`

ajax提交请求时如何处理有特殊字符的参数

    博客分类:
  • Ajax
阅读更多
这是执行AJAX的时候就会出问题,因为所传的参数变了.
看个示例就明白:
 $.ajax({
        url: '/ashx/ajax.ashx',
        type: 'post',
        data: 'option=delete&name=11&adb,
        success: function (data) {
            if (data != 'error') {

            }
         }
   });

上面执行的ajax就是异步删除一个name为 11&abd 的数据
当请求到ajax.ashx页面时,我们获取到的name参数为11
执行操作后会发现其实删除了 name 为 11的数据,而没有删除 name 为 11&abc 的数据
这是由于有&特殊字符,把以前的俩个参数变成了三个参数 option,name,abc
这时就需要用另外一种方法传递参数:
              $.ajax({
                    url: '/ashx/ajax.ashx',
                    type: 'post',
                    data:{ 'option':'delete','name':'11&adb'},
                    success: function (data) {
                        if (data != 'error') {

                            }
                        }
               });


采用上面的json格式传递参数就可以避免特殊字符引起的参数错误问题.
分享到:
评论

相关推荐

    ajax提交乱码

    在IT领域,特别是Web开发中,遇到“Ajax提交乱码”的问题是非常常见的,尤其是在处理中文或其它非英文字符集时。根据给定的文件信息,我们可以深入探讨如何使用Jquery来解决这一问题。 ### Ajax提交乱码问题的本质 ...

    ajax异步提交表单

    这里使用`serialize()`方法将表单数据转换为字符串格式,以便作为请求参数发送。 ```javascript var a = $.ajax({ url: "http://localhost:8080/ajax/jq10", data: $("#form1").serialize(), // 将表单数据序列化...

    ajax提交,后台中文乱码解决

    这是因为在发送HTTP请求时,URL中的特殊字符和非ASCII字符需要被转换成一种可传输的格式。`encodeURIComponent()`函数会把一个字符串转化为适合于URL的格式,其中的中文字符会被编码成"%xx"的形式,这里的"xx"是对应...

    java认证_Ajax中文乱码问题及解决方法.doc

    这是因为`encodeURI`函数可以编码URI中的特殊字符,但保留某些特殊字符,如空格。在前端,修改Ajax请求的data部分如下: ```javascript data: { id: 1, type: encodeURI(encodeURI('商品')) } ``` 然后在后台的...

    jquery ajax对特殊字符进行转义防止js注入使用示例

    因为留言内容写完之后,通过ajax提交内容,同时使用js把留言的内容添加到页面上来.浏览留言的时候也是通过ajax请求,然后再显示的.这样,如果有人在留言里写入了js语句,这结语句都会被执行.解决办法就是对这些特殊字符...

    ExtJs异步请求和特殊用途

    ExtJS使用了`Ext.Ajax`对象来处理异步请求。它封装了XMLHttpRequest对象,提供了发送GET、POST、PUT、DELETE等各种HTTP请求的方法。开发者可以通过配置参数,如URL、方法、参数、请求头、回调函数等,定制化请求...

    AJAX用户注册源码

    5. **用户体验优化**:为了提供更好的用户体验,可以添加加载指示器,显示检查过程,以及对用户输入的实时反馈,例如用户名长度限制或特殊字符检查。 6. **服务器端接口**:虽然这里的重点是前端AJAX实现,但不能...

    Ajax使用POST提交中文乱码问题.docx

    在使用Ajax进行POST提交时,中文字符可能会遇到乱码问题,这是因为数据在传输过程中编码与解码不匹配导致的。Ajax以UTF-8编码发送数据,但服务器端可能使用了不同的字符集(如GB2312)来解析,这就产生了乱码。本文...

    IE下Ajax提交乱码的快速解决方法

    综上所述,解决IE下Ajax提交乱码的快速方法,关键在于两个方面:一是确保参数编码的正确性,使用encodeURIComponent函数对中文等特殊字符进行处理;二是明确指定Ajax请求中的contentType为application/x-...

    Ajax乱码解决方案

    1. **客户端请求时未指定正确的字符编码**:例如,在发送Ajax请求时没有明确指定字符集,导致服务器按照默认编码(如ISO-8859-1)处理请求参数。 2. **服务器响应时的字符编码设置错误**:服务器端处理请求后返回的...

    js中传递特殊字符的方法.docx

    在JavaScript(JS)中,有时候我们需要传递包含特殊字符的字符串,比如+号和&号,这些字符在HTTP请求中有着特殊的含义。本文将详细介绍如何在JS中正确传递这些特殊字符。 首先,我们要明白问题的根源。在JS中,当你...

    jQuery使用deferreds串行多个ajax请求

    jQuery的deferreds对象是一种特殊的JavaScript对象,它用于处理异步操作,如ajax请求。deferreds对象的主要优势在于,它提供了一种简单的方式来处理多个异步操作的依赖关系。它使得我们可以在所有异步操作完成之后...

    Ajax-Basics-2.pdf

    在发送GET数据时,需要注意URL中参数的格式和编码规则,如当URL中出现特殊字符时,需要进行适当的转义处理,如将“&”替换为“&”。 ### 阅读文本字段值 在Ajax操作中,经常需要读取用户输入的表单数据。这...

    AJAX下的请求方式以及同步异步的区别小结

    如果参数中包含特殊字符,例如空格,则需要使用encodeURIComponent()函数对参数进行编码。例如,可以将一个参数编码为var EnParam = encodeURIComponent(param);。需要注意的是,GET请求的URL长度有限制,大多数...

    js中传递特殊字符(+,&)的方法.docx

    在JavaScript中,当我们需要传递包含特殊字符的数据时,可能会遇到一些问题,特别是在涉及到网络请求(如Ajax)或者字符串拼接时。特殊字符如"+"和"&"(HTML实体表示的"与"号)可能会引起解析错误或者导致预期...

    jquery ajax post提交数据乱码

    在开发Web应用时,我们经常会遇到编码问题,尤其是在使用jQuery的AJAX功能进行数据交互时。...通过以上措施,可以有效地避免和解决AJAX提交数据时可能出现的乱码问题,提高Web应用的兼容性和用户体验。

    ajax面试题.docx

    Ajax,即Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页...3. 传输的数据包含特殊字符或敏感信息,POST更稳定安全。

    php+ajax注册验证

    4. **接收响应**:在`onreadystatechange`事件中,当`readyState`为4且`status`为200时,表示请求成功,解析服务器返回的JSON或XML数据。 5. **更新DOM**:根据服务器返回的结果,动态更新HTML元素,显示错误或成功...

    php采用ajax数据提交post与post常见方法总结

    例如,当参数值中包含特殊字符如"&"时,可能导致数据在传输过程中被截断。这是因为浏览器默认将"&"视为URL编码的一部分,从而导致数据解析错误。 **解决方法** 为了解决这个问题,我们需要确保数据以正确的格式发送...

    AJAX基础教程-4 GetAndPostExample

    这里,`encodeURIComponent`函数用于编码URL参数,避免特殊字符引起的问题。 2. **POST请求** POST请求则常用于创建或更新资源。在"GetAndPostExample.java"中,可能会有一个处理POST请求的方法: ```java @...

Global site tag (gtag.js) - Google Analytics