在wordpress中,我正在进行ajax调用并发送此值
blow = \'blo\
但是当我在服务器端收到值时,它有一个\ extra
blow = \\'blo\
你可以看到\是额外的。我使用了urldecode,但它也给了我相同的结果
请帮我弄清楚我做错了什么
这是我的脚本,这里是我序列化表单,并以表格形式放置在文本框中blow = \'blo\
jQuery.ajax({
type: 'POST',
beforeSend: function () {
var Container = jQuery("#mainContainer");
var height = Container.height();
var width = Container.width();
jQuery('#le_form_container').css("display", "none");
Container.append('<div class="loadingOverlay" style="width: 100%; height: 100%;" ><img class="ajaxLoading" src="' + url + '/leasson_Evalution/images/ajax_loader_blue_512.gif" /></div>');
},
url: ajaxcontactajax.ajaxurl,
data: {
action: 'ajaxcontact_send_mail',
values: jQuery('#le_form').serialize().replace(/\+/g, '%20')
},
success: function (data, textStatus, XMLHttpRequest) {
//console.log(data);
if (data == 0) {
jQuery("#le_SucessDialog").html('');
jQuery('#le_SucessDialog').append("<p>Data is Submited</p>"); //alert(data is );
jQuery("#le_SucessDialog").dialog({
draggable: true
});
//console.log("tenp");
jQuery("#le_form")[0].reset();
//console.log("tenp");
}
//console.log(data);
},
error: function (MLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
},
complete: function () {
jQuery('#le_form_container').css("display","block");
jQuery("#mainContainer").find(".loadingOverlay").hide().remove();
jQuery("#le_form")[0].reset();
}
});}
答案 0 :(得分:1)
使用stripslashes:
$values = stripslashes($_POST["values"]);
答案 1 :(得分:0)
尝试此操作:使用转义
重置您的变量escape(blow)