Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过ajax向控制器发送请求是否从命名空间中删除斜杠?_Php_Jquery_Ajax_Yii2_Request - Fatal编程技术网

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'
                    })"