当字符串包含引号时,jquery jSon方法卡住

时间:2012-01-28 17:10:30

标签: jquery asp.net json

嗨我尝试了很多东西来解决这个问题,但我没有解决方法,我的代码如下所示

$.ajax({  
          type: "POST",
          url: "../Controllers/webservice.asmx/InsertWPost",
          data: '{"a": "' + uname.val() + '","b" :"' + a + '","c":"' + b + '"}',
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function (msg) {
                               msgbox.html(msg);
                               if (msg.d == 'a') {
                                         msgbox.html('Done');
                                     }
                                     else {
                                         msgbox.html('Error');
                                         alert(msg.d);
                                     }
                                 }
              });

Uname是一个文本框,它有时可能包含引号但是如果我在代码的数据部分中更改引号然后它使用单引号,那么这段代码就会卡住双引号我尝试了parsejson也没有用,我试着添加{{ 1}} 这不起作用

1 个答案:

答案 0 :(得分:1)

使用JSON.stringify - 它将处理引号和其他内容。它内置于现代浏览器中,但对于较旧的浏览器,您可以获得实现here

var data = {"a": uname.val(),
            "b": a,
            "c": b};
 ...
 data: JSON.stringify(data);
 ...