2010-12-08 130 views
3

如何從JavaScript中調用一個PHP函數(如果可能的話),就像ASP.NET一樣。

PHP:

... 
function a($some_string){ 
return json_encode(array(
       "username" => "bob", 
       "items" => array(
         "item1" => "sandwich", 
         "item2" => "applejuice" 
       ) 
     )); 
} 

JS:

$.ajax(
     {url:"index.php/a", 
     type:"POST", 
     contentType:"application/json; charset=utf-8", 
        data:{some_string:"blabla"}, 
     dataType:"json", 
     success:function(data){ 
      alert(data); 
      }, 
     error:function(a,b,c){ 
      } 
     }); 

在C#:

[WebMethod()] 
[ScriptMethod(ResponseFormat=ResponseFormat.Json)] 
public static object a(string some_string) 
{ 
    return new { 
       user_name = "bob", 
       items = new { 
        item1 = "sanwitch", 
        item2 = "applejuice" 
        } 
       }; 
     } 

感謝,
彼得

回答

2

你可以PU只有一個PHP文件中的一個函數。然後在該文件中運行該函數(這樣可以迴應出JSON)。讓ajax調用該文件。

你的情況:

echo a($string); 
0

如果你願意探索jQuery的替代方案,有一個叫做XAJAX工具,允許你直接調用PHP函數異步通過AJAX。這是一個非常漂亮的工具,雖然支持和論壇有點神祕。對於那些硬核PHP(但不是JAVASCRIPT)傢伙,這個工具是一個不錯的選擇。