-3
    $.ajax({
dataType : "html" ,
url: "jquery-loadMoreComments.php?lastComment="+ $(".postedComment:last").attr('id')&"section="+'.$sid.',   
success: function(html) {

あるファイルから別のファイルへのこの ajax リクエストがあり、このような別のファイルで url 変数を取得しています

$filtered = filter_input(INPUT_GET, "lastComment", FILTER_SANITIZE_URL);
$filtered1 = filter_input(INPUT_GET, "section", FILTER_SANITIZE_URL);

最初の変数は正しく取得されますが、2 番目の変数は他のファイルに取得されません。URL から最初のファイルによって取得され、$sidajax を介して 2 番目のファイルに送信され、要求が続行されます。

URLをこちらに変更しました

    url: "jquery-loadMoreComments.php?lastComment="+ $(".postedComment:last").attr('id'),section: '<?= $sid ; ?>',  

次に、2 番目の php ファイルで、$sidこれを書きました

$filtered = filter_input(INPUT_GET, "section", FILTER_SANITIZE_URL);

しかし、まだ実行されていません。$sid変数が正しく渡されていないと思います。最初の php ファイルでは、 variabl を渡すコードを書いていません$sid。どうすればそれを行うことができますか。

4

1 に答える 1

1

'.$sid'問題はURL の末尾にあると思われます。おそらく、それが PHP 変数に置き換えられることを期待しているでしょうが、これは置き換えが行われるコンテキストのようには見えません。

置換を行うには、PHP 処理モードに戻す必要があります。

"&section=<?= $sid ?>",

また、文字列を連結して URL パラメーターを作成するのではなく、data:パラメーターを使用し$.ajaxてオブジェクトを提供します。jQuery は、適切な URL エンコーディングを使用して、パラメータ文字列を自動的に作成します。したがって、次のようになります。

$.ajax({
    dataType : "html" ,
    url: "jquery-loadMoreComments.php",
    data: {
        lastComment: $(".postedComment:last").attr("id"),
        section: '<?= $sid ?>'
    },
    success: function(html) {
于 2012-09-22T00:44:17.130 に答える