我想知道是否可以创建一个php对象并在我的JavaScript中使用它及其方法。 例如,我有以下php脚本:
<?php
class Foo
{
public function bar()
{
//do something here
}
}
?>
然后我可以向服务器发送一个AJAX请求并获取一个Foo实例:
$.ajax({
type: "POST",
url: "path/to/Foo/Foo.php",
data: {
action: "get-object"
},
dataType: 'json',
success : function(data){
alert("My Foo object: "+data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("Did not work");
}
});
当然,我必须稍微扩展一下Foo.php,以便它返回一个类Foo的实例。
我试过了它并没有用,我的数据变量总是空的。
那么有另一种方法来获取php类的实例并在Javascript中调用它的方法吗?
答案 0 :(得分:0)
您只能在服务器上运行PHP代码,因此每次要从JavaScript调用方法时,都需要向服务器发出新的HTTP请求。
这将要求在多个请求中保持对象存在。您可以通过将其存储在会话变量中来实现此目的(您可能需要先将其显式序列化)。
另一种方法是:
很明显,只有当方法执行可以通过客户端JS实现的事情(或者您将不得不涉及更多Ajax)时,这才有效。