0

jquery 関数 .html() 内で php 関数を実行したい。php 関数は、パラメーターとして 2 つの整数を取ります。

このコードは機能します

$(function() {
    var myVar = 1;
    $('#myDiv').html('<? echo my_function('+myVar+','+1+'); ?>');   
});

そして、これはしません:

$(function() {
    var myVar = 1;
    $('#myDiv').html('<? echo my_function('+myVar+','+myVar+'); ?>');   
});

PHPエラーはありませんが、何も起こりません

4

3 に答える 3

1

書くfile.php

<?php
my_function(myvar,1);
?>

そしてhtmlページでの使用

$('#mydiv').load('file.php');
于 2013-04-10T06:46:08.580 に答える
1

間違ったメソッドを実行しています。このメソッドは使用できません。var myvar; は javascript 変数です。ブラウザでのみ使用できます。ただし、my_function() は Web サーバーで実行されます。php 変数を javascript に入れることはできますが、javascript 変数を php 関数の引数として使用することはできません。myvar を php として作成します。可能であれば、それを関数に入れます。または、ajaxを使用してjavascript変数をphp関数に渡すことができます。

関数をphpファイルに入れて、次に

     $('#mydiv').load('file.php?myvar='+myvar);

可能です。$_GET['myvar'] で値を取得できます。

于 2013-04-10T06:53:10.110 に答える
0

試してみました。PHP パーサーは、<? ?>タグの中身だけを気にし、それ以外は気にしません。したがって、次のようになります。

echo my_function('+myVar+','+1+');

+myVar+この関数は、文字列との 2 つのパラメータで呼び出されます+1+。これを関数に入れることで確認できます:

function my_function() {
    $argv = func_get_args();
    var_dump($argv);
}

これは次のように出力されます。

array(2) {
  [0]=>
  string(7) "+myVar+"
  [1]=>
  string(3) "+1+"
}

PHP で生成されたファイルが提供されると、クライアントには次のように表示されます。

$(function() {
    var myVar = 1;
    $('#myDiv').html('The output of your my_function()');   
});

JavaScript 変数は使用されなくなりました。

既知の ID でコンテンツを印刷する場合は、PHP で変数を定義するか、$_GETまたは$_POST変数を使用して PHP で設定できます。

動的な値を使用する場合は、別のファイルへの AJAX 呼び出しが必要になります (上記で提案したことを行う必要があります)。

あなたのように PHP と JavaScript を混在させることは不可能です。

于 2013-04-10T06:59:50.437 に答える