jQuery $.get() 和 $.ajax() 没有从 PHP 获取数据
jQuery $.get() and $.ajax() doesn't get data from PHP
我有一个脚本应该在单击事件后提醒从 PHP 文件获取的消息。我已经尝试了 jQuery $.get() 和 $.ajax(),但都没有用。
$.ajax() 有效但提示一条空消息,$.get() 提示 "null".
load.php
<?php
$string = "prova";
echo json_encode($string);
?>
jquery_save.js
$(document).ready(function(){
$("#carica").click(function(){
loadPHP();
});
});
function loadPHP() {
$.get( "load.php", function( data ) {
alert(data)
}, "json" );
};
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>This is just a test for Whosebug</title>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery_save.js"></script>
</head>
<body>
<form>
<input style="background-image:url(img/lc-load.png);" type="submit" value="Carica" name="carica" id="carica">
</form>
</body>
</html>
通过这种方式,我得到了警报,但有一个 "null" 输出。
我也试过这个:
load.php
<?php
$string = "prova";
echo $string;
?>
jquery_save.js
$(document).ready(function(){
$("#carica").click(function(){
loadPHP();
});
});
function loadPHP() {
$.ajax({
type: 'GET',
url: 'load.php',
success: function(data) {
alert(data);
}
});
};
这给了我一个警告,里面有注释。这两种方式都会在关闭警报消息后刷新页面(我不希望发生这种情况)。
我使用另一个函数 $.ajax() 毫无问题地将变量赋给另一个 PHP 文件,但我无法从 PHP 文件中获取变量。
您必须阻止默认的点击操作 -
$("#carica").click(function(event){
event.preventDefault();
loadPHP();
});
由于页面重定向,您的提醒没有出现。
您使用的提交按钮导致提交事件未被处理。
试试这样改
<input style="background-image:url(img/lc-load.png);"
type="button" value="Carica" name="carica" id="carica" />
您是否使用提交按钮为禁用 javascript 的浏览器提供回退?如果是这种情况,您需要阻止提交事件
我有一个脚本应该在单击事件后提醒从 PHP 文件获取的消息。我已经尝试了 jQuery $.get() 和 $.ajax(),但都没有用。 $.ajax() 有效但提示一条空消息,$.get() 提示 "null".
load.php
<?php
$string = "prova";
echo json_encode($string);
?>
jquery_save.js
$(document).ready(function(){
$("#carica").click(function(){
loadPHP();
});
});
function loadPHP() {
$.get( "load.php", function( data ) {
alert(data)
}, "json" );
};
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>This is just a test for Whosebug</title>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery_save.js"></script>
</head>
<body>
<form>
<input style="background-image:url(img/lc-load.png);" type="submit" value="Carica" name="carica" id="carica">
</form>
</body>
</html>
通过这种方式,我得到了警报,但有一个 "null" 输出。 我也试过这个:
load.php
<?php
$string = "prova";
echo $string;
?>
jquery_save.js
$(document).ready(function(){
$("#carica").click(function(){
loadPHP();
});
});
function loadPHP() {
$.ajax({
type: 'GET',
url: 'load.php',
success: function(data) {
alert(data);
}
});
};
这给了我一个警告,里面有注释。这两种方式都会在关闭警报消息后刷新页面(我不希望发生这种情况)。 我使用另一个函数 $.ajax() 毫无问题地将变量赋给另一个 PHP 文件,但我无法从 PHP 文件中获取变量。
您必须阻止默认的点击操作 -
$("#carica").click(function(event){
event.preventDefault();
loadPHP();
});
由于页面重定向,您的提醒没有出现。
您使用的提交按钮导致提交事件未被处理。
试试这样改
<input style="background-image:url(img/lc-load.png);"
type="button" value="Carica" name="carica" id="carica" />
您是否使用提交按钮为禁用 javascript 的浏览器提供回退?如果是这种情况,您需要阻止提交事件