Php 通过ajax向控制器发送请求是否从命名空间中删除斜杠?
输出代码:-Php 通过ajax向控制器发送请求是否从命名空间中删除斜杠?,php,jquery,ajax,yii2,request,Php,Jquery,Ajax,Yii2,Request,输出代码:- function loadInlineEditor(data) { $.ajax({ url: '<?= Url::toRoute(["//url"]) ?>', type: 'POST', data: data, dataType: 'json' }) 删除斜杠的不是ajax。这是因为php生成的js
function loadInlineEditor(data) {
$.ajax({
url: '<?= Url::toRoute(["//url"]) ?>',
type: 'POST',
data: data,
dataType: 'json'
})
删除斜杠的不是ajax。这是因为php生成的js代码如下所示:
Array
(
[class] => appmodelsPage
[model_id] => 1
[attribute] => description
)
但是JS字符串中的\
(反斜杠)字符用作转义字符。如果您想在JS字符串中使用反斜杠,您必须将其本身转义为\\
为此,您可以使用addslashes()
php函数或json\u encode()
删除斜杠的不是ajax。这是因为php生成的js代码如下所示:
Array
(
[class] => appmodelsPage
[model_id] => 1
[attribute] => description
)
但是JS字符串中的\
(反斜杠)字符用作转义字符。如果您想在JS字符串中使用反斜杠,您必须将其本身转义为\\
为此,您可以使用addslashes()
php函数或json\u encode()
因为****是转义字符,所以在将其存储在类属性中之前,需要对其进行转义 因此,您的代码变成:
onclick="loadInlineEditor({
class:<?= json_encode(get_class($content)) ?>,
model_id:<?= $content->id ?>,
attribute:'description'
})"
onclick=“loadInlineEditor({
类别:“”,
型号识别号:,
属性:'description'
})"
事实上,addslashes将app\models\Page发送到类属性,并将其保存到app\models\Page,因为****是转义字符,所以您需要在将其存储到类属性之前转义它 因此,您的代码变成:
onclick="loadInlineEditor({
class:<?= json_encode(get_class($content)) ?>,
model_id:<?= $content->id ?>,
attribute:'description'
})"
onclick=“loadInlineEditor({
类别:“”,
型号识别号:,
属性:'description'
})"
事实上,addslashes将app\models\Page发送到类属性,并将其保存到app\models\Page尝试以下操作:类:“”,因为\是转义字符,所以在将其存储到类属性中之前需要转义此:类:“”,因为\是转义字符,所以在将其存储在类属性中之前需要转义它
onclick="loadInlineEditor({
class:<?= json_encode(get_class($content)) ?>,
model_id:<?= $content->id ?>,
attribute:'description'
})"
onclick="loadInlineEditor({
class:'<?= addslashes(get_class($content)) ?>',
model_id:<?= $content->id ?>,
attribute:'description'
})"