![](/img/trans.png)
[英]Passing variable from JavaScript to PHP using AJAX doesn't show anything
[英]Pass javascript variable to php with ajax and the result doesn't show anything
這是我的代碼,我想將javascript變量與ajax傳遞給php,當我點擊提交按鈕然后結果不顯示來自javascript的var_data變量什么代碼有錯? 在大家幫助我之前,這是一個編輯順序
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#sub').click(function() {
var var_data = "Hello World";
$.ajax({
url: 'http://localhost/ajax/PassVariable.php',
type: 'GET',
data: { var_PHP_data: var_data },
success: function(data) {
// do something;
}
});
});
});
</script>
</head>
<body>
<input type="submit" value="Submit" id="sub"/>
<?php
$test = $_GET['var_PHP_data'];
echo $test;
?>
</body>
</html>
這是源代碼
<?php
if (isset($_GET['var_PHP_data'])) {
echo $_GET['var_PHP_data'];
} else {
?>
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
$(document).ready(function() {
$('#sub').click(function() {
var var_data = "Hello World";
$.ajax({
url: 'http://localhost/test.php',
type: 'GET',
data: { var_PHP_data: var_data },
success: function(data) {
// do something;
$('#result').html(data)
}
});
});
});
</script>
</head>
<body>
<input type="submit" value="Submit" id="sub"/>
<div id="result">
</body>
</html>
<?php } ?>
這句話如果(isset($ _ GET ['var_PHP_data']))輸出false然后顯示Hello World我該怎么做才能為isset做什么($ _ GET ['var_PHP_data'])是真的嗎?
您的解決方案存在PHP問題:您不檢查數據是否存在,並且您不對結果執行任何操作。 我已修改腳本以執行以下操作:
#result
div。 還要確保您在localhost上托管腳本,並將其命名為test.php。 為了確保這是有彈性的,您可以將Ajax URL更改為<?php echo $_SERVER['PHP_SELF'];?>
以確保您將使用正確的腳本。
<?php if (isset($_GET['var_PHP_data'])) { echo $_GET['var_PHP_data']; } else { ?> <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"> <script> $(document).ready(function() { $('#sub').click(function() { var var_data = "Hello World"; $.ajax({ url: 'http://localhost/test.php', type: 'GET', data: { var_PHP_data: var_data }, success: function(data) { // do something; $('#result').html(data) } }); }); }); </script> </head> <body> <input type="submit" value="Submit" id="sub"/> <div id="result"> </body> </html> <?php } ?>
試試jQuery Form,這將有助於解決許多問題。
對於你的問題:嘗試沒有域名的網址,添加標簽'表單',更改事件點擊提交,添加數據類型
PassVariable.php的內容是什么? 如果是相同的你在哪里他們jquery位不會工作coz php將再次打印所有頁面,如果文件不同嘗試
success: function(data) {
alert('databack = '+ data);
}
嘗試將輸入放入表單並將ajax調用附加到表單onsubmit事件。 它在提供的事件中發生的方式是當你在字段中單擊時,在這種情況下它提交之前你可以真正寫任何東西。
$(document).ready(function() {
$('#brn').click(function() {
var var_data = "Hello World";
alert("click works");
$.ajax({
url: 'http://localhost/ajax/PassVariable.php',
type: 'GET',
data: { x: var_data },
success: function(data) {
alert(data);
}
});
});
});
將其更改為此代碼
然后在PassVariable.php中放
制作按鈕
<input type="button" id="btn" value="click me" />
它應該工作,因為它是非常基本的例子。 如果它不起作用,請檢查您的控制台是否存在任何JavaScript錯誤並將其刪除。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.