2011-04-01 71 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