0

jQueryとタグを更新せずにjQueryを介してURL文字列にIDを渡したい#ので、php$_get['ID']関数を介してIDを取得できます。

しかし、問題は

  1. を使用する#と、ページは更新されませんでしたが、PHP は URL から ID を取得しました。
  2. # を使用しない場合、php は ID を選択しますが、ページは更新されます。

ページを更新せずに id を php に渡したいです。

//javascript
function com(id) {
    location.href = '#?ID=id'; //by this way way,page doesn't refresh, ID appears in the url string but ID is not picked by  PHP as # is there
    // location.href = '?ID=id';   this way way, ID appears in the url string , ID is also  picked by  PHP as # is there.But page get refreshed.
    $.ajax({
        type: "Post",
        url: "getdata.php",
        async: true,
        cache: false,
        success: function(data) {},
    });
}​

 

//php for getdata.php
<?php  echo $_GET['ID'];    ?>
4

1 に答える 1

2

サーバー側とクライアント側の操作について自分自身を教育する必要があります。Javascript はクライアント側です。サーバー(あなたの場合はPHPを実行しています)は、情報を送り返さない限り、javascriptが何をしているかについて何も知りません。これは、ページの更新または ajax (簡単に言えば) によって実現できます。

必要なのは、サーバーに戻る非同期リクエストである ajax です。サーバーはそれを処理し、情報をページに戻すことを選択できます。jQuery のajaxを調べてください。

更新されたコメントに基づいて更新します。

function com(id) {
    //forget about appending the id. This isn't doing anything.
    //You can use it for informational purposes or so that if someone cuts and pastes
    //the link you can handle it server side appropriately.
    location.href = '#?ID=id';

    //instead focus on this call. append your query string to the url    
    $.ajax({
        type: "POST",
        url: "getdata.php?ID=12345",
        async: true,
        cache: false,
        success: function(data) {
            alert(data); //should alert the id processed by php
        },
    });
}​
于 2012-12-01T06:46:47.380 に答える