我似乎无法获取123.php返回信息,以便在我使用jQuery-AJAX-thing的html文档中使用(更改名为div1的div的内容)。 我是JavaScript,PHP和HTML的新手;但是现在尝试了一些教程,似乎不能满足我的需求,所以真的可以提供一些帮助。
这是我的123.html应该使用AJAX-jQuery来调用我的123.php
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
type: "POST",
url: "/123.php",
data:{id:"3", name:"John Doe"},
success:function(response){
alert('ok-'+data+'-'+respText+'-'+xhr);
$("#div1").html(respText);
},
error: function (request, status, error) {
alert(request.responseText);
}
});
});
</script>
</head>
<body>
以及123.php
<?php
$my_id = trim($_REQUEST['id']);
$my_name = trim($_REQUEST['name']);
$file = '123.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append to the file
$current .= 'time:' . time() . ',id:' . $my_id . ',name:' . $my_name . "\n";
// Write the contents back to the file
file_put_contents($file, $current);
echo 'received following: id: ' . $my_id . ' and name: ' . $my_name;
?>
123.txt只是为了查看php文件是否响应,而且确实如此,但只有当我通过时才会这样做 /123.php?id=7&name=Jane%20Doe 在其他地方使用&#39; post&#39;方法,没有响应(从JavaScript获取错误)
所以我猜它是AJAX / jQuery的结构; 对于上面列出的尝试,我在JavaScript控制台中收到错误&#34;未捕获错误:引用未定义&#34;
当我使用以下123.html代替(替换其他123.html)
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").post("/123.php",{id:"3",name:"John Doe"},function(data,status){alert("Data: " + data + "\nStatus: " + status);});
});
});
</script>
</head>
<body>
<div id="div1">Text that should be changed</div>
<button>Press me, I'm a button</button>
</body>
</html>
我得到&#34; Uncaught TypeError:Undefined不是一个函数&#34;,我试图查找它,有些人写道它可以解决插入
(function ($) {
$(document);
}(jQuery));
然而它没有(插入到最顶层,就在script-start-tag下面)
我似乎无法弄清楚我做错了什么,而且我真的对任何帮助和方向表示赞赏。
提前致谢
答案 0 :(得分:1)
您的php没有返回JSON或XML,因此您无法获取数据。替换此
success:function(response){
alert('ok-'+data+'-'+respText+'-'+xhr);
$("#div1").html(respText);
},
用这个
success:function(response){
alert('ok-'+response);
$("#div1").html(response);
},