使用 ajax 结果取回 php 变量值
Getting a php variable value back with an ajax result
我正在使用 croppie.js 裁剪用户上传的图片,裁剪完成后 ajax 用于上传结果。这是代码...
页面 A..
$('.upload-result').on('click', function (ev) {
$uploadCrop.croppie('result', {
type: 'canvas',
size: 'viewport'
}).then(function (resp) {
$.ajax({
url: "uploadown/uploader.php",
type: "POST",
data: {"image":resp},
success: function (data) {
html = '<img id="cropresult" style="margin: 0px;" src="' + resp + '" />;
$("#uploaded-input").html(html);
}
});
});
});
那么uploader.php就是..
<?php
$data = $_POST['image'];
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$imageName = time().'.png';
file_put_contents($imageName, $data);
?>
如您所见,uploader.php 正在使用 time()
作为 $imageName 变量。
我要么需要在上传过程中将 $imageName 传回页面 A
要么
先在A页面设置$imageName,和图片信息同时传给uploader.php
经过几个小时和多次尝试,阅读了此处的许多类似问题,但无法弄清楚如何做到这一点。非常感谢任何帮助。
只需 echo
php 或 var_dump()
数组中的名称,然后您就可以在 javascript 中访问它
来自 php 页面的所有数据都添加到您提供给成功回调的匿名函数的变量名中。对于您的情况,它将被访问为 data
在此处找到您的完整示例:https://websolutionstuff.com/post/crop-image-before-upload-using-croppie-plugin
考虑以下 PHP。
<?php
$data = $_POST['image'];
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$imageName = time().'.png';
if(file_put_contents($imageName, $data)){
echo "Success, " . $imageName;
} else {
echo "Error, unable to Put file.";
}
?>
这将提供对 AJAX 脚本的响应。
$('.upload-result').on('click', function (ev) {
$uploadCrop.croppie('result', {
type: 'canvas',
size: 'viewport'
}).then(function (resp) {
$.ajax({
url: "uploadown/uploader.php",
type: "POST",
data: { "image":resp },
success: function (data) {
var response = data.split(",");
var html;
if(response[0] != "Error"){
html = '<img id="cropresult" style="margin: 0px;" src="' + response[1].trim() + '" />';
$("#uploaded-input").html(html);
} else {
console.log(data);
}
}
});
});
});
回显 php 文件中的 $imageName
,完成后在 javascript 中使用它。
PHP
<?php
$data = $_POST['image'];
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$imageName = time().'.png';
if(file_put_contents($imageName, $data)){
echo $imageName;
} else {
echo " ";//In this case src will be empty
}
?>
Java 脚本
$('.upload-result').on('click', function (ev) {
$uploadCrop.croppie('result', {
type: 'canvas',
size: 'viewport'
}).then(function (resp) {
$.ajax({
url: "uploadown/uploader.php",
type: "POST",
data: {"image":resp},
success: function (data) {
html = '<img id="cropresult" style="margin: 0px;" src="' + data + '" />';
$("#uploaded-input").html(html);
}
});
});
});
如有任何疑问,请在下方评论。
我正在使用 croppie.js 裁剪用户上传的图片,裁剪完成后 ajax 用于上传结果。这是代码...
页面 A..
$('.upload-result').on('click', function (ev) {
$uploadCrop.croppie('result', {
type: 'canvas',
size: 'viewport'
}).then(function (resp) {
$.ajax({
url: "uploadown/uploader.php",
type: "POST",
data: {"image":resp},
success: function (data) {
html = '<img id="cropresult" style="margin: 0px;" src="' + resp + '" />;
$("#uploaded-input").html(html);
}
});
});
});
那么uploader.php就是..
<?php
$data = $_POST['image'];
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$imageName = time().'.png';
file_put_contents($imageName, $data);
?>
如您所见,uploader.php 正在使用 time()
作为 $imageName 变量。
我要么需要在上传过程中将 $imageName 传回页面 A 要么 先在A页面设置$imageName,和图片信息同时传给uploader.php
经过几个小时和多次尝试,阅读了此处的许多类似问题,但无法弄清楚如何做到这一点。非常感谢任何帮助。
只需 echo
php 或 var_dump()
数组中的名称,然后您就可以在 javascript 中访问它
来自 php 页面的所有数据都添加到您提供给成功回调的匿名函数的变量名中。对于您的情况,它将被访问为 data
在此处找到您的完整示例:https://websolutionstuff.com/post/crop-image-before-upload-using-croppie-plugin
考虑以下 PHP。
<?php
$data = $_POST['image'];
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$imageName = time().'.png';
if(file_put_contents($imageName, $data)){
echo "Success, " . $imageName;
} else {
echo "Error, unable to Put file.";
}
?>
这将提供对 AJAX 脚本的响应。
$('.upload-result').on('click', function (ev) {
$uploadCrop.croppie('result', {
type: 'canvas',
size: 'viewport'
}).then(function (resp) {
$.ajax({
url: "uploadown/uploader.php",
type: "POST",
data: { "image":resp },
success: function (data) {
var response = data.split(",");
var html;
if(response[0] != "Error"){
html = '<img id="cropresult" style="margin: 0px;" src="' + response[1].trim() + '" />';
$("#uploaded-input").html(html);
} else {
console.log(data);
}
}
});
});
});
回显 php 文件中的 $imageName
,完成后在 javascript 中使用它。
PHP
<?php
$data = $_POST['image'];
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$imageName = time().'.png';
if(file_put_contents($imageName, $data)){
echo $imageName;
} else {
echo " ";//In this case src will be empty
}
?>
Java 脚本
$('.upload-result').on('click', function (ev) {
$uploadCrop.croppie('result', {
type: 'canvas',
size: 'viewport'
}).then(function (resp) {
$.ajax({
url: "uploadown/uploader.php",
type: "POST",
data: {"image":resp},
success: function (data) {
html = '<img id="cropresult" style="margin: 0px;" src="' + data + '" />';
$("#uploaded-input").html(html);
}
});
});
});
如有任何疑问,请在下方评论。