2014-02-14 64 views
7

在phonegap中,我在使用jQuery AJAX調用PHP文件時遇到了問題。雖然調用文件時出現的錯誤是:Phonegap No請求的資源上存在'Access-Control-Allow-Origin'標頭。 Origin'null'因此不允許訪問

否「訪問控制允許來源」標頭出現在所請求的資源

谷歌表示,把這個代碼header('Access-Control-Allow-Origin: *');在當前的PHP文件頭。我把代碼放在標題中,但仍然沒有改變。我附上了我的jsfidde

文件connectionsqlphp.php代碼是在這裏

<?php 

header('Access-Control-Allow-Origin: *'); 
header('Content-Type: application/json'); 
echo "hi"; 

?> 
+1

你有'<訪問起源= 「*」/>'在config.xml文件? –

+0

@Dawson Loudon是的我有 – Sri

+0

你正在測試手機/模擬器還是你的瀏覽器?如果您正在桌面瀏覽器上測試,則更有可能發生原始錯誤。 – Ekim

回答

8

應該有PhoneGap的/科爾多瓦無交叉的起源問題,只要你正確地配置在config.xml中訪問的起源。

這是正常的從瀏覽器進行測試時,如果你錯過了一些CORS headers.Try補充說,你有這樣的消息:

header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Methods: GET, POST'); 

但再次你並不需要爲PhoneGap的應用程序的標題。

當你做echo "hi";,你不會發送json,但發送文本「嗨」。 (只需在頭文件中寫入json不會格式化你的回聲)。

我想你應該在javascript中使用$.get,並從php中刪除header('Content-Type: application/json');,這樣應用程序需要一個簡單的文本或修改你的php來真正發送JSON。

爲前:

echo "{message:\"hi\"}"; 
+0

非常感謝你,它完美的作品... – Sri

相關問題