将jQuery变量转换为PHP

时间:2014-03-12 15:00:50

标签: php jquery

我有这个代码来导出图像:

$(document).ready(function(e){
    var frontPlateClass = $('.choose-front-plate-size').find('a.active').parent().prop('className'),
    // alert(frontPlateClass);
});


$image = $_POST['plate_image'];
$ebay_username = $_POST['ebay_username'];
$decoded = base64_decode(str_replace('data:image/png;base64,', '', $image));
$date = date('m-d-Y', time());
$name = $ebay_username."-front-" . $date .".png";
file_put_contents("/var/makeaplate.justapplications.co.uk/cart/" . $name, $decoded);
$full_path = "/var/wmakeaplate.justapplications.co.uk/cart/" . $name;
imageCreateCorners($full_path, $name, 25);
$name1 = 'cart/'.$name;
echo '<div class="content-btns">';
echo "<img src='$name1' alt='image' id='front_img' />";
echo '<p class="download-btn"><a href="download.php?ebay_username='.$ebay_username.'&img=' . $name1 .'">Download front plate</a></p>';
echo '</div>';

如您所见,我有1个jQuery变量frontPlateClass。 如何在php中添加回声?

4 个答案:

答案 0 :(得分:0)

在服务器上的屏幕上有内容之前执行PHP。一旦页面被发送到客户端,浏览器就会呈现jQuery / HTML。

你能做到这一点的唯一方法(将JS变量传递给PHP)是在文档加载后对PHP文件进行AJAX调用,将变量作为数据发送。

答案 1 :(得分:0)

你不能这样做。

您必须知道的一件事是服务器端和客户端之间的区别。

服务器端生成html,javascript等...... Php在服务器端执行。

客户端来之后,它接收所有html / javascript / etc ...通过服务器生成。一旦收到所有这些文本,浏览器就会有解析javascript并执行它的机制。

解决问题的方法:

你可以使用ajax,它会在服务器端为php脚本创建一个请求。 Ajax是从客户端生成的。因此,您将能够将frontPlateClass的内容发送到php脚本。

答案 2 :(得分:0)

开发以下结构;

<强> function.php

<?php
    $frontPlateClass = $_POST["frontPlateClass"];
    // Now you can use this vaiable anywhere you want
    $image = $_POST['plate_image'];
    $ebay_username = $_POST['ebay_username'];
    $decoded = base64_decode(str_replace('data:image/png;base64,', '', $image));
    $date = date('m-d-Y', time());
    $name = $ebay_username."-front-" . $date .".png";
    file_put_contents("/var/makeaplate.justapplications.co.uk/cart/" . $name, $decoded);
    $full_path = "/var/wmakeaplate.justapplications.co.uk/cart/" . $name;
    imageCreateCorners($full_path, $name, 25);
    ........
?>

在你的HTML中:

$(document).ready(function(e){
    var frontPlateClass = $('.choose-front-plate-size').find('a.active').parent().prop('className'),
    $.ajax({
       url: "path_to_function.php",
       method: "POST",
       data: "frontPlateClass=" + frontPlateClass,
      success: function(response) {} 
    });
});

通过执行此操作,您可以将js变量发送到php。你可以在php端使用该值

答案 3 :(得分:0)

你无法回应&#39;它使用PHP。我会在PHP代码中使用HTML添加一个空白div,然后让JQuery填充它。

所以你的HTML就像这样..

<div class="inner">Goodbye</div>

然后在你的脚本中这样的事情。

$( ".inner" ).append( frontPlateClass );

希望这会让你朝着正确的方向前进。