2011-04-01 104 views
0

我正在嘗試使用api,我只是在學習如何實際實現一個使用PHP的api,希望我將學習如何將jquery融入其中。我知道如何創建一個簡單的搜索功能,通過MySQL和它的數據與PHP,但有沒有辦法在API中創建搜索?與API,有json/xml響應,並且它們都是字符串,所以我想知道用戶是否能夠搜索這些字符串?在api文本中搜索

謝謝

+0

發佈代碼並命名您使用的API會很有幫助。 – 2011-04-01 14:44:33

+0

我沒有設置任何代碼,因爲我不知道它是否可能,但我試圖使用groupon的api http://sites.google.com/site/grouponapiv2/api-resources/deals。是否可以搜索json響應的文本? – hellomello 2011-04-01 16:41:28

回答

1

首先,你必須通過AJAX發送json數據到php。事情是這樣的:

var request; 
    function runAjax(JSONstring) 
    { 
    // function returns "AJAX" object, depending on web browser 
    // this is not native JS function! 
    request = getHTTPObject(); 
    request.onreadystatechange = sendData; 
    request.open("GET", "parser.php?json="+JSONstring, true); 
    request.send(null); 
    } 

    // function is executed when var request state changes 
    function sendData() 
    { 
    // if request object received response 
    if(request.readyState == 4) 
    { 
    // parser.php response 
    var JSONtext = request.responseText; 
    // convert received string to JavaScript object 
    var JSONobject = JSON.parse(JSONtext); 

    // notice how variables are used 
    var msg = "Number of errors: "+JSONobject.errorsNum+ 
     "\n- "+JSONobject.error[0]+ 
     "\n- "+JSONobject.error[1]; 

    alert(msg); 
    } 
    } 

然後,您可以調用JavaScript的創建通過調用$ _GET [「JSON」]變量的變量。

strstr($_GET['json'] , $whatEverYourSearchingFor); 
+0

謝謝你爲我寫這篇文章。但我仍然在學習所有這些東西。我教過自己的PHP和一個小jQuery。有沒有辦法在PHP中做到這一點?如果沒有,我會嘗試學習這一點。非常感謝 – hellomello 2011-04-01 17:28:44

+0

沒問題。 JSON是JavaScript Object Notation的首字母縮寫,因爲我相信你知道。 Javascript是客戶端代碼。 Php是服務器端代碼。因此,您必須彌合差距,並將客戶端(網絡瀏覽器)上的數據發送到運行php的服務器。這就是javascript的功能。 strstr是一個php函數,用於調用由客戶端javascript發送給您的變量。我希望更清楚。如果不是,請隨時索要更多說明。 – 2011-04-01 17:34:48

+0

哦,好的!疑難雜症!謝謝:) – hellomello 2011-04-01 17:50:05