我有一个应用程序,它接受一个JavaScript对象,使用JSON.stringify()将其转换为字符串,并在一个appropriate POST请求中传递该字符串。JavaScript对象包含各种数据,包括一些用户输入。
通过POST请求发送数据后,使用json_decode()将其解码为数组。此时,从应用程序返回的数据为空。
用户在描述属性中的输入包含额外的双引号,我认为这会导致数据无效。
如何转义用户输入的双引号?
示例数据:
{ name: "Susan", title: "Director", description: ""TEST""}
注:这是一个简单的数据示例。实际数据具有嵌套对象。
JavaScript:
let obj = this.objData,
json = JSON.stringify(obj)
$.ajax({
method: 'post'
url: url,
data: {
method: 'submit',
form_data: json
}
});
PHP:
$action=$_POST['method'];
$data=$_POST['form_data'];
$data=str_replace('\"','"',$data);
$data=str_replace("\'","'",$data);
$data=json_decode($data,true); // returns null
1条答案
按热度按时间ht4b089n1#
我使用下面的代码来处理双引号问题,它工作正常。