2016-06-30 46 views
3

我正在使用以下代碼來檢測表單選擇中的更改,然後發送一個AJAX get請求與數據。AJAX獲取查詢不會導致頁面加載

$("#configset").change(function(){ 

    $.ajax({ 
      method: "get", 
      url: "/bmcfg/index.php", // This is the url that will be requested 

      data: {"configset": $("#configset").val(), 
        "configupdate": "update" 
        }, 
     success:function()//we got the response 
     { 
     // alert('Successfully called:'+ $("#configset").val()); 
     }, 
     error:function(){alert('Exeption:');} 

      }); 

}); 

在服務器端,我使用PHP來處理請求。

if ((isset($_GET['configupdate']) and $_GET['configupdate'] == 'update')) 
{ 
    echo 'get received:'.$_GET['configupdate']; 
    include project.html.php 

}

我從來沒有看到被打印在新頁面上回聲線?我只是希望PHP加載新的網頁,而不必將它作爲數據發送回ajax。

+0

你希望在哪裏看到回波線「打印?」這將是從服務器返回的響應,所以您應該在JavaScript中的「成功」回調中看到該值。 – smarx

+0

包含'project.html.php';在那個網頁上。它包括在回聲之後。 – marc

+0

'成功:功能(響應){警報(響應);}'它說什麼?檢查 –

回答

0

的解決方案是顯然沒有使用AJAX,但使用的一種形式,並提交檢測的變化形式。 AJAX將在AJAX中發送和接收數據。所以服務器端PHP腳本發送的數據也會被髮送到AJAX。

這可以通過使用JQuery的表單提交來解決。

$("#selectid").change(function(){ <------ this is the select tag "id" 
    $("#formid").submit();  <---- this is the form tag "id"   
}); 
1

參數添加到從PHP獲取價值的功能:

success:function(data)//we got the response 
     { 
     alert(data); // <========== VALUE ECHOED FROM PHP. 
     } 
+0

我只想運行PHP腳本。有沒有辦法讓它做到這一點?因爲腳本會加載一些新的變量,我會在diff腳本中加載它們,腳本會加載 – marc

+0

@ amansehgal0u2,您使用ajax來調用PHP,PHP運行時結果會回到ajax。這是它的工作方式。順便說一下,PHP實際上正在運行,但你沒有看到結果。 –

+0

是的,謝謝。問題在我的理解。我看到整個該死的網頁現在都放入了數據。但那不是我想要的大聲笑。我想我想讓PHP腳本將該網頁發送到瀏覽器 – marc