从Angular或Javascript调用AMFPHP
大家好,我有一个Flash项目,叫做AMFPHP服务器端集成。现在,我想与Angular JS或任何Javascript建立相同的连接。那么有可能实现这一点吗?事实上,我不想改变服务器,因为一些问题。我可以改变客户端。如果可能的话,请告诉我。我尝试了URL,但没有成功。您应该能够使用我上面链接的库,并且从Angular或Javascript调用AMFPHP,javascript,jquery,angularjs,amfphp,Javascript,Jquery,Angularjs,Amfphp,大家好,我有一个Flash项目,叫做AMFPHP服务器端集成。现在,我想与Angular JS或任何Javascript建立相同的连接。那么有可能实现这一点吗?事实上,我不想改变服务器,因为一些问题。我可以改变客户端。如果可能的话,请告诉我。我尝试了URL,但没有成功。您应该能够使用我上面链接的库,并且 $httpProvider.defaults.transformRequest $httpProvider.defaults.transformResponse 您可以在angular con
$httpProvider.defaults.transformRequest
$httpProvider.defaults.transformResponse
您可以在angular config块中配置$http提供程序。差不多
angular.module('myApp',[]).config(function($httpProvider){
$httpProvider.defaults.transformRequest = AMF.stringify;
$httpProvider.defaults.transformResponse = AMF.parse;
});
我可以为您提供jQuery ajax调用。它几乎就这么简单:
<script language="javascript">
function call(){
/**
* notes:
* - parameters here could be left empty, they are just here to make the code easier to adapt
* - $.post method here is used because amfPHP JSON plugin expects data as POST. So can't use more obvious getJSON
* - if you always use the same parameters, you can do without json2.js, by setting for example
* callData = '{"serviceName":"PizzaService", "methodName":"getPizza","parameters":[]}'
*/
var callData = JSON.stringify({"serviceName": "YourController", "methodName": "getSomething", "parameters": []});
$.post("../amfphp/?contentType=application/json", callData, onSuccess);
}
function onSuccess(data){
alert("pizza : " + data);
}
</script>
在URL查询处。这将告诉AMF您希望它返回JSON格式,而不是AMF请求
现在,既然你要和AngularJS一起去,还有一件事你应该注意的是。因此,我无法告诉您amfPHP将如何处理此问题。我个人认为,如果jQuery调用查询应用程序/json成功,那么来自AngularJS的Ajax调用将自动工作。如果没有,您可以尝试调试amfPHP,并尝试查看是否正在馈送$\u POST
或$\u REQUEST
您可能会发现一些。我不会从一个角度来看待这一点,因为问题最终只是AMF编码的请求/响应以及如何在JS中读取它。如果有一种从JS到AMF的解析和序列化方法,那么您可以将其插入到$http配置中,而不是让它执行常规的JSON解析和字符串化。像这样的东西应该有用
?contentType=application/json