2013-11-22 22 views
1

我想重新編寫一個應用程序到php,它以前使用JavaScript中的$ .get調用,有沒有一種方法可以在PHP中調用此方法,以便我可以使用響應數組'答案'?

$.get('crawl.php', { text: passURL }, function(answer) { 

    images = answer.images; 

}, "json"); 

我發現的唯一的事情是它似乎沒有了HTTP_GET方法用什麼來回應

$response = http_get('crawl.php', array(text=> $passURL), $answer); 
$images = $answer['images']; 

我只是調用該方法不對,還是有我應該使用PHP的方法嗎?

+0

[Relevent](http://stackoverflow.com/questions/14745587/how-to-use-wget-in-php/14745611#14745611) –

+0

@MattClark這個問題是XY問題的一個很好的例子...實際上,在那裏接受的答案在PHP imho的上下文中更有意義:) –

回答

0

PHP不異步工作,所以你會得到這個(假設一個JSON響應):

$answer = json_decode(
    file_get_contents('http://host/path/crawl.php?' . http_build_query([ 
     'text' => $passUrl 
    ])), 
    true 
); 

或者,使用cURL

0

是的,PHP提供了很多方法從URL下載數據。

事實上,如果在配置文件中啓用了allow_url_fopen,則可以使用幾乎所有可打開文件以從URL加載數據的函數。

但要更好地控制標題,請使用POST等。請使用cURL

您可能想要使用json_decode()解析返回的數據,就像您在JavaScript中使用JSON.parse()一樣。

+1

順便說一句,你也可以在'file_get_contents()'中使用POST。看看['stream_context_create()'](http://php.net/stream_context_create)。 –

相關問題