2010-12-08 8 views
3

Comment puis-je appeler (si possible) une fonction PHP de javascript ciblant une méthode comme 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){ 
      } 
     }); 

en C#:

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

Merci,
Péter

Répondre

2

Vous pouvez tout simplement pu t qu'une seule fonction dans un fichier PHP seul. Puis exécutez la fonction dans ce fichier (de sorte qu'il renvoie le JSON). Avoir ajax appeler ce fichier.

Dans votre cas:

echo a($string); 
0

Si vous étiez prêt à explorer une alternative à Jquery, il y a un outil appelé XAJAX qui vous permet d'appeler directement les fonctions PHP de manière asynchrone via AJAX. C'est un très bon outil, bien que le support et les forums soient un peu énigmatiques. Pour ceux qui sont des gars hardcore PHP (mais pas JAVASCRIPT), cet outil est une excellente option.