在我的PHP文件中,我有一个变量$file = "abc"
。如何在HTML中创建一个按钮来在PHP中运行函数作为参数传递$ file?我看到我需要使用jQuery / AJAX来做到这一点。为简单起见,我们只想说我想回复$ file。
HTML / JS
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.js"></script>
<input type="submit" class="button" name="Del" value="Del" />
<script type="text/javascript">
$(document).ready(function(){
$('.button').click(function(){
var clickBtnValue = $(this).val();
var ajaxurl = 'ajax.php',
data = {'action': clickBtnValue};
$.post(ajaxurl, data, function (response) {
console.log(response);
//alert("action performed successfully");
});
});
});
</script>
ajax.php
<?php
if (isset($_POST['action'])) {
Del();
}
function Del($file) {
echo $_POST['action'];
echo $file;
exit;
}
?>
我不确定如何修改它以通过AJAX传入php参数($ file)。
答案 0 :(得分:2)
在您的HTML / JS中:
data = {'action': clickBtnValue, 'file' : '<?php echo $file?>'};
在你的ajax.php中:
if (isset($_POST['action'])) {
Del($_POST['file']);
}
这是一个非常简单的示例,但您可以根据自己的需要进行调整。请注意,这种方法存在大量潜在的安全隐患,具体取决于您实际执行的操作,因此请小心并清除$ _POST中的任何输入。
答案 1 :(得分:0)
你可以将值传递给<span id="myFile"></span>
,你可以在结束</body>
标记之前放置,然后使用jQuery获取值,然后立即将其删除。我并不是说它是最好或最安全的方法,但它过去曾为我做过简单的事情。
HTML
...
<span id="myFile"><?php echo $file; ?></span>
</body>
...
JS
$(document).ready(function(){
$('.button').click(function(){
//Get the text and remove it
var myFile = $("#myFile").text();
$("#myFile").remove();
var clickBtnValue = $(this).val();
var ajaxurl = 'ajax.php',
data = {action: clickBtnValue, file: myFile};
$.post(ajaxurl, data, function (response) {
console.log(response);
//alert("action performed successfully");
//Append it back in case you need to use it again. Optional
$("body").append("<span id='myFile'></span>");
});
});
});
我从action
中删除了引号。
PHP
<?php
if (isset($_POST['action'])) {
Del($_POST['file']);
}
...
?>