通过Jquery发送的字符串化数据无法使用

时间:2014-09-16 11:19:35

标签: javascript php jquery json stringify

我是javascript中的一个对象,并通过Jquery post方法发送它:

reservation={};
count=0;
$(".reservation").each(function() {
    reservation[this.id]=jQuery(this).val();
    count++;
    if (count==jQuery(".reservation").length)
    {
        reservationString=JSON.stringify(reservation);
        $.post("helper.php", {reservation: reservationString}) .done(function(data) {   

“helper.php”文件获取数据,但是quotatian标记都被转义,所以当我尝试解码它时,我得到一个json错误,错误代码为4。

这是helper.php文件:

$reservation=$_REQUEST['reservation'];
echo $reservation . "\n";
$reservation=json_decode(html_entity_decode($reservation));

我尝试在javascript中提示alertString,字符串没有在那里转义,所以很可能jQuery post方法为我转义字符串。可能是什么问题,你们可以建议一个解决方案吗?

其他信息: 这是我在javascript中提醒字符串化对象后得到的结果:

{"test":"bubub","Domain":"online","Type":"banner","s2id_CompanyId":"","CompanyId":"-","ContactPersonId":"0"}

这是我在回显php中的数据后得到的结果:

{\"test\":\"bubub\",\"Domain\":\"online\",\"Type\":\"banner\",\"s2id_CompanyId\":\"\",\"CompanyId\":\"-\",\"ContactPersonId\":\"0\"}

1 个答案:

答案 0 :(得分:0)

这应该有效:

$reservation=$_REQUEST['reservation'];
echo $reservation . "\n";
$reservation=stripslashes(json_decode(html_entity_decode($reservation));