使用Jquery访问PHP api


Accessing PHP api with the help of Jquery

我正在制作一个移动应用程序和web部件。我在移动应用程序中使用php5使所有返回json数据的api。现在我想使用相同的api文件,托管在另一个服务器上,使用jquery,这样我就可以传递参数到api文件在jquery的数据,然后得到json数据的响应。但我无法理解,使用jquery将是安全的,在客户端使用一切?比如创建会话,并使用jquery将一个api返回的json数据发送到另一个页面。我在网上搜索了一段时间我得到了一些解决方案,我应该在php中使用curl然后从php返回数据它将调用移动应用php然后将数据返回给jquery,就像这样:

Jquery -> web php file -> mobile-php-api(将返回json数据到web php file) -> Jquery

谁能给出有价值的建议?我应该用什么来解析已经使api文件与web上的完整身份验证。

如果您的API不在应用程序的同一域中,那么由于跨域请求,使用AJAX不是一个非常有效的解决方案。一些代理和浏览器在默认情况下会阻止这些请求。我觉得你应该用cURL,就像你说的。或者用SOAP创建一个真正的WebService,但如果你需要快速创建应用程序,这可能会很困难。

为了确保托管在第一个域上的PHP与API之间的通信,您可以发送一个由某些挑战机制生成的唯一令牌。并将此挑战隐藏在PHP脚本中(因此您的客户端无法看到它)

我不完全明白你具体问的是哪一点,但这里是…

你似乎正在描述的是在PHP中创建一个REST API,并在javascript/HTML中创建一个前端。

对于简单的应用,jQuery和$.ajax()可以做到,但对于较大的前端应用,你可能想要考虑MVC风格的客户端框架,如BackboneJS

最后,如果你说的另一个页面指的是另一个域,你的问题要么围绕着通过与你的前端相同的域托管(或可能代理)你的api,要么围绕着使用CORS(跨域资源共享)跨域工作。internet explorer中对CORS的支持很差,CORS身份验证也很棘手。如果您决定坚持使用CORS,则可能需要考虑OAuth2。