使用ajax调用从php服务器发送图像
Send image from php server using ajax call
我要做的就是搜索文件并显示来自服务器的图片。HTML有一个简单的搜索栏,允许您输入搜索词。JavaScript使用ajax请求调用PHP文件,PHP在服务器上找到图像并将其发送回显示。
现在发生的是图像没有显示,我得到一个图标,表示一些无效的图像。ajax调用似乎正在工作,但我认为我发回的数据是不正确的。我一直在试着搜索它,但是每个人似乎对如何做都有不同的看法,这有点令人困惑。
HTML<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"> </script>
<script src="search.js"></script>
<style type="text/css"></style>
</head>
</body>
<header>
<h1>My Page</h1>
</header>
<input type=text name="search" id="searchbox" placeholder="Search...">
<input type=button value="Search" id=search><br>
<div id="images"></div>
</body>
JavaScript $(document).ready(function() {
$("#search").on('click', function(){
$.ajax({
url: '/search.php',
type: 'POST',
data: $("#searchbox").serialize(),
success: function(data) {
$('#images').append(data);
},
error: function() {
alert('failure');
}
});
});
});
PHP <?php
if(isset($_POST['search'])) {
$searchterm = $_POST['search'];
$image = "images/".$searchterm.".jpeg";
echo '<img src="data:image/jpeg;base64,'.base64_encode($image).'">';
}
else {
echo 'Error: image not found';
}
p。目前,我忽略了任何类型的错误检查,我只是试图让它工作并假设输入都是有效的
建议:
- 试试这个链接:
使用PHP的图像数据uri
<?php
if(isset($_POST['search'])) {
$searchterm = $_POST['search'];
$image = "images/".$searchterm."jpeg";
$imageData = base64_encode(file_get_contents($image));
$src = 'data: '.mime_content_type($image).';base64,'.$imageData;
echo '<img src="', $src, '">';
...
- 调试jQuery/浏览器和PHP/后端服务器之间的实际HTTP流量。您可以使用Telerek Fiddler或Firebug等工具。
希望这对你有帮助!
使用file_get_contents,它将在浏览器上显示图像。
$image = "images/".$searchterm.".jpeg";
echo '<img src="data:image/jpeg;base64,'.base64_encode(file_get_contents($image)).'">';
请更改对象中的url属性,在.ajax()方法调用中使用。您的search.php的路径不正确。
$.ajax({
url: '/search.php',
→:
$.ajax({
url: './search.php',
相关文章:
- 使用JSP从服务器检索和显示图像
- 将处理后的图像上传到服务器
- 使用FormData上传AJAX图像;t在服务器端显示图像
- 从安卓设备将图像上传到服务器时,文件扩展名错误
- 将Adobe创意编辑的图像上传到我的服务器,而不是他们的创意云
- 使用服务器上的HTML/js在网页上显示图像
- 将处理后的图像发送到服务器进行保存
- 从Web服务器下载图像按钮单击使用JavaScript
- 从Div创建图像,并使用Javascript和ASP.net将其保存到服务器
- 在服务器上通过jQueryAjax上传加载的图像时出现问题
- 如何通过ajax php将图像上传到服务器本地目录,其中html表单haven't任何传统的提交按钮
- 如何将图像上传到带有 CSS 过滤器的服务器
- 如何使用 HTML 图像请求将数据发送到服务器,或返回数据作为响应
- 铯:使用自己的OpenStreetMap服务器.:“无法获取图像磁贴”错误
- 如何在 HTML 中的按钮单击上更改图像(IMG URL 每次来自服务器)
- 动态图像加载是否会减少服务器过载
- 创建谷歌图表;转换为图像服务器端
- 将图像服务器端转换为 CanvasPixelArray
- 将 HTML 元素转换为图像(服务器端)
- 无法将画布转换为图像 - 服务器端