我正在尝试使用 php 和 jquery.php 变量更改 div 的背景图像,但未获取值
Posted
技术标签:
【中文标题】我正在尝试使用 php 和 jquery.php 变量更改 div 的背景图像,但未获取值【英文标题】:I am trying to change a background image of div using php and jquery.php variable not getting the value 【发布时间】:2017-05-30 20:04:15 【问题描述】:我编写了用于更改 div 的背景图像的代码。我能够上传图像,并且图像在文件夹中可见。图像路径正在上传到 mysql 数据库中。但是图像没有在 div 中显示为背景。指定图像路径的 php 变量值(位置)未传递给 div。谁能告诉我我的错误?
<?php
session_start();
include_once ('dataconnect.php');
$db_conx = mysqli_connect("localhost", "root", "", "productiondata");
$uid = $_SESSION['user_id'];
$username = $_SESSION['user_name'];
if (isset($_FILES['file']))
global $location;
$imagename = $_FILES["file"]["name"];
$imagepath = "images/";
$location = $imagepath . $_FILES["file"]["name"];
move_uploaded_file($_FILES["file"]["tmp_name"], "$imagepath" . $_FILES["file"]["name"]);
$sql = "INSERT INTO image(user_id,imagepath,imagename) VALUES('$uid','$imagepath','$imagename')";
$query = mysqli_query($db_conx, $sql);
$sql1 = "SELECT * FROM image";
$query1 = mysqli_query($db_conx, $sql1);
while ($row = mysqli_fetch_array($query1))
$imagename = $row['imagename'];
$imagepath = $row['imagepath'];
echo $location;
jquery 代码
$('document').ready(function ()
$('.js_p-uploader').click(function ()
$('#file').click();
$('#file').change(function (e)
e.preventDefault();
var blob = this.files[0];
var formData = new FormData();
formData.append('file', blob);
$.ajax(
url: "profile.php",
type: "POST",
data: formData,
mimeType: "multipart/form-data",
processData: false,
contentType: false,
success: function (location)
);
);
);
);
div class="profile-cover-wrapper" style="background-image:url('?php echo
$location ;?');"input type="file" id="file" name ="file"
【问题讨论】:
是由于输入 SO 导致最后一行出现错误,还是代码中实际上缺少 【参考方案1】:Ajax 调用返回的数据不能在外部使用,或者不能用作 PHP 变量。您可以做的是在success: function()
内更改<img>
的src
属性:
// AJAX CALL HERE
success: function(location)
$('.profile-cover-wrapper').css("background-image", "url("+location+")");
【讨论】:
这不起作用。 ().html() 正在工作,但它显示为图像而不是背景。如果我想将它用作 php 变量如何编码。你有什么例子吗。我在网上搜索了但无法获得。 @SunilKumarReddy 这些在同一个文件中吗?<div class="profile-cover-wrapper"
已经存在于您的 html 文件中了吗?您可以显示您的 HTML 文件,以便我调整答案
嗨,谢谢洛根。它现在工作。更改了一些样式。以上是关于我正在尝试使用 php 和 jquery.php 变量更改 div 的背景图像,但未获取值的主要内容,如果未能解决你的问题,请参考以下文章
使用 jQuery、PHP 和 MySQL 为单选按钮加载 JSON 数据
尝试在页面滚动上加载帖子时出现 Ajax/Jquery/PHP 问题
使用 ajax jquery php 和 mysql 制作账单
用 JQuery/PHP 解析嵌套的 JSON 字符串对象?