PHP+JQuery+Json非同步擷取資料實現AJAX

來源:互聯網
上載者:User

通過javascript的庫jquery來實現非同步擷取資料,而且資料轉送很多人已經使用輕量級級的json替代xml,那如何通過PHP+JQuery+Json非同步擷取資料實現AJAX呢?下面將列出具體的方法

 代碼如下 複製代碼
<select name="country" id="country" onchange="PostCountryJson();">

在 select 控制項裡,當觸發 onchange 事件的時候,我們執行 PostCountryJson() 這個JavaScript Function

其次是 JavaScript 代碼:

 代碼如下 複製代碼

function PostCountryJson() {

var mid = $("#country").val();              
var queryString = {"mid":mid}
var url = "getCountrycode.<span class="tag-span"><a class="tag" href="http://www.111cn.net" title="查看 php 中的全部文章" target="_blank">php</a></span>";
$.getJSON(url, queryString,function (json) {   
$("#tel_country_code").get(0).value = json.countryCode;
});
}        

 

也是通過 Json 資料集擷取資料。

最後當然就是 getCountrycode.php 代碼了:

 代碼如下 複製代碼

<?php

include_once '../configure/conn.php';   // 建立與mysql database 的連結
$country = $_GET['mid'];                      // 獲得從PostCountryJson()傳來的mid參數,就是城市名稱啦

// 執行搜尋,搜尋country表裡該程式的資料
$selectStr = "SELECT * FROM country WHERE country_name = '".$country."'";
$result = mysql_query($selectStr,$conn);

if ($result) {
$countryCode = mysql_fetch_array($result);    
}

$countryCodeStr = $countryCode['country_code'];   // 將 country_code 欄位的資料存放到變數


$jsonArr = array('countryCode'=>$countryCodeStr);  // 按照Jason的格式寫成一個數組

$jsonStr = json_encode($jsonArr);                             // 編碼Jason資料,沒想到比.net還要簡單呀
echo ($jsonStr);                                                          // 輸出Jason資料
?>

除了上面的方法還有很多jquery ajax的方法哦

1. load( url, [data], [callback] ) :載入遠程 HTML 檔案代碼並插入至 DOM 中。

url (String) : 請求的HTML頁的URL地址。

data (Map) : (選擇性參數) 發送至伺服器的 key/value 資料。

callback (Callback) : (選擇性參數) 請求完成時(不需要是success的)的回呼函數。

這個方法預設使用 GET 方式來傳遞的,如果[data]參數有傳遞資料進去,就會自動轉換為POST方式的。jQuery 1.2 中,可以指定選擇符,來篩選載入的 HTML 文檔,DOM 中將僅插入篩選出的 HTML 程式碼。文法形如 "url #some > selector"。

這個方法可以很方便的動態載入一些HTML檔案,例如表單。

範例程式碼:

 代碼如下 複製代碼

$(".ajax.load").load("/2009/06/10/1500682.html .post",
function (responseText, textStatus, XMLHttpRequest){
this;//在這裡this指向的是當前的DOM對象,即$(".ajax.load")[0]
//alert(responseText);//請求返回的內容
//alert(textStatus);//請求狀態:success,error
//alert(XMLHttpRequest);//XMLHttpRequest對象
});


jQuery.get( url, [data], [callback] ):使用GET方式來進行非同步請求

jQuery.post( url, [data], [callback], [type] ) :使用POST方式來進行非同步請求

jQuery.getScript( url, [callback] ) : 通過 GET 方式請求載入並執行一個 JavaScript 檔案。

jQuery.ajax( options ) : 通過 HTTP 要求載入遠端資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.