用jquery $ .ajax返回json调用PHP函数

时间:2010-12-08 20:46:05

标签: php json jquery

如何从javascript中调用(如果可能的话)来自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 个答案:

答案 0 :(得分:2)

您可以将这一项功能单独放在PHP文件中。然后在该文件中运行该函数(因此它回显JSON)。让ajax调用该文件。

在你的情况下:

echo a($string);

答案 1 :(得分:0)

如果您愿意探索Jquery的替代方法,那么有一个名为XAJAX的工具允许您通过AJAX异步直接调用PHP函数。这是一个非常漂亮的工具,虽然支持和论坛有点神秘。对于那些硬核PHP(但不是JAVASCRIPT)的人来说,这个工具是一个很好的选择。