dop20345 2012-10-07 15:38
浏览 47
已采纳

json data char'&'扰乱ajax发布请求数据

i am generating a json string using JSON.stringify and my json string will be like

jsonstring=[{"step1":[{"nm":"John & joe"},{"title":"Hello & hai"}]},{"step2":[{"desc":"1234"},{"usr":"abc@xyz.com"}]}]` 

i am escaping & with \& and sending this json string to server through ajax.

$.ajax({
url:"test-usr-data.php",
type:"post",
data:"usrdata="+jsonstring,
success: function(response){
console.log("data is "+response); 
},
complete:function (jqXHR, textStatus){ 
console.log("ajax Request completed"+textStatus);
    }
});

The problem is with & char in json string, even though i am escaping & to \& data is not posted to server but ajax request status is success.

I tried removing & from json string it works fine and data is posting to server correctly.

Can any one help me in correct way to escaping & in json string.

  • 写回答

2条回答 默认 最新

  • duanhuan8983 2012-10-07 15:41
    关注

    Who told you that escaping in URL's works by prepending a backslash?

    jQuery will take care of it, just do

    data: {usrdata: jsonstring},
    

    FYI: You could use encodeURIComponent as well

    data: "usrdata=" + encodeURIComponent(jsonstring),
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示