hong34210
2015-05-18 10:57
采纳率: 97%
浏览 2.3k

ajax传值问题,怎么写都有问题

ajax传值到后台,这样写直接输出data error;
data: "{'s':'" + selectedText + "'}",没办法传带单引号的
data: "{ \"s\":\""+ selectedText+"\" }",没办法传带双引号的

         function ajaxSend() {
            jQuery.blockUI({ message: "处理中,请稍候...<img src='阅读_files/content/images/加载-007.gif' />", css: { color: 'black', border: '3px solid #aaa', backgroundColor: 'white' }, overlayCSS: { opacity: '0.0' } });
            alert("解析过程需要10秒,如有卡顿,请稍等");
            $.ajax({
                type: "Post",
                url: "Reader.aspx/GetStr",
                async: false,
                //data: "{'s':'" + selectedText + "'}",
                data: { s: selectedText },
                //data: "{ \"s\":\""+ selectedText+"\" }",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    $('#Report').html(data.d);
                    jQuery.unblockUI();
                    $('html,body').animate({ scrollTop: document.body.clientHeight + 'px' });//跳转至页面最底部
                },
                error: function (err) {
                    alert("data error");
                    jQuery.unblockUI();
                }
            });
        }
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳

    你的selectedText包含单引号或者双引号?替换转义下,要不字符串不闭合了

     data:'{"s":"' + selectedText.replace(/"/g,'\\"') + '"}',
    
    已采纳该答案
    打赏 评论
  • oyljerry 2015-05-18 11:19

    用base64编码处理一下。

    打赏 评论
  • threenewbee 2015-05-18 11:21

    urlencode或者base64编码下,总之你的数据中有特殊字符。

    打赏 评论
  • 另一花生 2015-05-18 16:19

    字符问题,编码转换解决

    打赏 评论

相关推荐 更多相似问题