2013-10-15 55 views
0

我正在練習PHP RestServer類。但是如果我使用Ajax調用,則無法從中獲取正確的數據。我有以下代碼:PHP RestServer類 - Ajax調用

<?php 

require_once "locationOfRestServer.php"; 

class HelloWorld 
{ 
    public static function sayHello() 
    { 
     return array("Response" => "Hello World"); 
    } 
} 

$rest = new RestServer('HelloWorld'); 
$rest->handle(); 

而在我的javascript文件我用的是以下幾點:

this.helloWorld = function() { 
    $.ajax({ 
     url: 'locationOfHelloWorld.php' 
     type: 'POST', 
     dataType: 'json', 
     success: function(data){ 
      console.log(data); 
     } 
    }); 
}; 

我得到以下

error: "No method was requested."

因爲;每當我使用它,我必須去localhost/HelloWorld.php?method=sayHello這是實際工作。 所以我添加下面一行到Ajax調用:

method: 'sayHello',

但它仍然不斷給我同樣的錯誤。

回答

1

試試這個,

$.ajax({ 
    url: 'locationOfHelloWorld.php' 
    type: 'GET',// use GET method according to your working url 
    data:{method: 'sayHello'},// use method in data parameter 
    dataType: 'json', 
    success: function(data){ 
     console.log(data); 
    } 
}); 
+0

我不知道這是否是你剛剛發佈了一個建議改變Ajax調用的鏈接,但實際工作。我使用了以下內容: 'url:'location/HelloWorld.php?method = sayHello' - 哪個實際工作。我只是不知道它是否是「乾淨的」解決方案?這樣做沒有擴展剩餘的服務器的方式。爲什麼我需要這樣做? –

+0

現在使用你的例子,而不是我的,工作正常。謝謝。 =) –