jQuery附加PHP代码

-1 php jquery append

我想要做的是这样的事情:

我有这个javascript函数,通过调用PHP函数来附加一些内容.

<script>
function example(variable) {
    $('#div').append("<?php someFunctionPhp('"+variable+"'); ?>");
}
</script>
Run Code Online (Sandbox Code Playgroud)

在PHP函数内部,我有类似的东西:

function someFunctionPhp($variable){

    switch ($variable) {
    case 'Y' :
        echo 'Year'; break;

    case 'M' :
        echo 'Month'; break;

    case 'D' :
        echo 'Day'; break;
    }

}
Run Code Online (Sandbox Code Playgroud)

假设我进行了调用example('M'),我已经测试过并且函数someFunctionPhp确实接收M到参数的值(如果我只是echo $variable在它显示的函数内部M),问题是:它没有进入case 'M'情境.它不能识别MJS变量传递的相等.

如果我在JS函数中更改代码行:

$('#div').append("<?php someFunctionPhp('M'); ?>");
Run Code Online (Sandbox Code Playgroud)

有用...

一些暗示?

phi*_*hag 11

php在服务器端执行并生成 JavaScript代码,在客户端执行.您应该只需在JavaScript中实现您的功能:

$('#div').append(function(dateSpec) {
    switch (dateSpec) {
    case 'Y' :
        return 'Year';
    case 'M' :
        return 'Month';
    case 'D' :
        return 'Day';
    }
}(variable));
Run Code Online (Sandbox Code Playgroud)

  • @Rafael它的工作原理是`someFunctionPhp`立即用文字参数`'"+ variable +"'`调用.由于存在该(奇怪)值的情况,因此它什么都不做.除了XHR请求(和类似的调用)之外,没有办法从JavaScript调用php函数. (2认同)