ajaxrequest调用php函数而不是get

时间:2013-07-21 11:09:22

标签: php javascript function ajax-request

我有一个名为functions.js的文件包含在页面中。我有线:

ajaxRequest.open("GET", "save.php?json=" + jsonstring + "&rand=" + rand, true);

如何通过ajaxRequest调用php方法?我也想通过php函数从类中调用它(例如save($ json,$ rand))

伪码:

ajaxRequest.callPhpFunction( function{ Class::save($json, $rand) }  )

编辑:

也许 XAJAX http://www.xajax-project.org/)是解决方案吗?

2 个答案:

答案 0 :(得分:1)

您的XHR(XML Http请求)发出HTTP请求。这是您的JavaScript和PHP通信的唯一方式(我们这里不讨论套接字)。

你需要编写后端代码以便在调用URL时执行良好的操作,并且看到你想要实现的目标,你可能想看一下大致对应于想要的REST方法你在寻找。

答案 1 :(得分:0)

您将无法从JS脚本调用PHP函数。您应该阅读有关服务器端和客户端脚本的信息。

另一方面,可以做的事情是这样的:

phpfunctions.php

$function = $_GET['func'];
$result = Class::$function($_GET['json'], $_GET['rand']);
echo json_encode($result);

filewithjs.html

$.ajax({
 url: "phpfunctions.php", 
 data: {
  json: {somedata: 1}, 
  rand: 1, 
  func: "phpfunction"
 }, 
 type: 'GET',
 success: function(resp) {
  //Do something with the result
 }
});

但请注意,这可能是一个安全漏洞。