PHP 到 js-PHP 解决方案以避免页面加载
为了减少页面加载,我想更改当前的解决方案。下面是我用来向用户提供 isbn 中的书名的代码的一部分。该脚本获取从表单发布的 isbn 并检查其 isbn 有效性,然后使用开放 API 解决方案,其中 http 请求使用 isbn 进行 mde,标题以 json 形式返回,然后显示给用户。
用户通常检查三本书,并且使用当前的解决方案,必须发布每本书的表格才能获得结果。在没有页面加载的情况下执行此操作的最佳方法是什么?
if(isset($_POST['isbn']) && strip_tags($_POST['isbn'])!=''){
$currISBN = new ISBNtest;
$currISBN->set_isbn(strip_tags($_POST['isbn']));
if ($currISBN->valid_isbn13() === TRUE) {
//Hämta info
$url = "http://apisite.com/search?query=isbn:".$currISBN->get_isbn13()."&format=json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://www.site.com");
$json_body = curl_exec($ch);
curl_close($ch);
$json = json_decode($json_body,true);
$this_title=$json["xsearch"]["list"][0]["title"];
In order to decrease pageloads I would like to change my current solution. Below is a part of the code that I use to give the user the booktitle from a isbn. The script takes the isbn, posted from a form and checks its isbn validity and then uses a open api solution where a http request is mde with the isbn and the title is returned as json and then displayed for the user.
The user usually checks three books and, with the current solution, have to post the form for each book to get the result. How is the best way to do this without pageloads?
if(isset($_POST['isbn']) && strip_tags($_POST['isbn'])!=''){
$currISBN = new ISBNtest;
$currISBN->set_isbn(strip_tags($_POST['isbn']));
if ($currISBN->valid_isbn13() === TRUE) {
//Hämta info
$url = "http://apisite.com/search?query=isbn:".$currISBN->get_isbn13()."&format=json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://www.site.com");
$json_body = curl_exec($ch);
curl_close($ch);
$json = json_decode($json_body,true);
$this_title=$json["xsearch"]["list"][0]["title"];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
听起来像是 jQuery.ajax() 的工作!
http://api.jquery.com/jQuery.ajax/
如果您有一点编程经验,那么应该不会花太长时间来弄清楚如何实现它。
Sounds like a job for jQuery.ajax()!
http://api.jquery.com/jQuery.ajax/
If you have a little bit of programming under your belt, it shouldn't take too long to figure out how to implement it.
这看起来像是在后台使用 XMLHTTPRequest 的一个主要示例 - 以及一些在页面上放置一些数据的 javascript。您根本不需要页面加载。
This looks like a prime example for using XMLHTTPRequest in the background - and some javascript that puts some data on the page. You would not need to pageload at all.