ajax(PHP和Javascript)的问题-如何正确传输?
我在jquery库中的ajax函数方面遇到了很大的问题。我是jQuery、ajax和php的完全初学者,但我正在从事这个学校项目,它应该是一个游戏(类似于),页面创建一个10x10表,用数字填充,并自动选择一个单元格,然后用户猜测它是哪个单元格 在桌子下面,有一个文本区域,我应该在其中输出游戏的进度;例如,“猜错了!猜错的次数:1;到正确单元格的距离:3”,等等 问题在于实施中;我有两个.php文件,一个是玩游戏的主站点,另一个是统计部分(只是数学数学之类的) 恕我直言,以下是我的代码: 在其中玩游戏的main.php文件的代码:ajax(PHP和Javascript)的问题-如何正确传输?,javascript,php,jquery,ajax,get,Javascript,Php,Jquery,Ajax,Get,我在jquery库中的ajax函数方面遇到了很大的问题。我是jQuery、ajax和php的完全初学者,但我正在从事这个学校项目,它应该是一个游戏(类似于),页面创建一个10x10表,用数字填充,并自动选择一个单元格,然后用户猜测它是哪个单元格 在桌子下面,有一个文本区域,我应该在其中输出游戏的进度;例如,“猜错了!猜错的次数:1;到正确单元格的距离:3”,等等 问题在于实施中;我有两个.php文件,一个是玩游戏的主站点,另一个是统计部分(只是数学数学之类的) 恕我直言,以下是我的代码: 在其中
<script>
$(document).ready(function()
{
$("#tablezz td").click(function()
{
var column_num = parseInt( $(this).index() );
var row_num = parseInt( $(this).parent().index() );
var dat = { column: column_num, row: row_num };
$.ajax({
type: "GET",
data: dat,
url: "preveri.php",//this is the name of the mathemathical .php file
success: function(data){
$("#imamonkey").prepend(data);
}
})
});
});
</script>
</head>
<body>
<?php
echo "<table id='tablezz' border='1'>";
$counter=1;
for($i=0; $i<10; $i++){
echo"<tr>";
for($j=0; $j<10; $j++){
echo "<td> $counter </td>" ;
$counter=$counter+1;
}
}
echo"</tr>";
echo "</table>";
session_start();
$_SESSION["rightx"] = rand(1,10);
$_SESSION["righty"] = rand(1,10);
echo"<br>
<br>
<textarea id='imamonkey' rows='30' cols='46'></textarea>";
?>
</body>
$(文档).ready(函数()
{
$(“#tablezz td”)。单击(函数()
{
var column_num=parseInt($(this.index());
var row_num=parseInt($(this.parent().index());
var dat={column:column_num,row:row_num};
$.ajax({
键入:“获取”,
数据:dat,
url:“preveri.php”,//这是mathemathical.php文件的名称
成功:功能(数据){
$(“#imamonkey”).prepend(数据);
}
})
});
});
您的代码中有以下错误:
会话必须从头开始
修正了语法错误
此外,会话必须从第二页开始
请尝试以下脚本:
<?php
session_start();
?>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).ready(function()
{
$("#tablezz td").click(function()
{
var column_num = parseInt( $(this).index() );
var row_num = parseInt( $(this).parent().index() );
var dat = { column: column_num, row: row_num };
$.ajax({
type: "GET",
data: dat,
url: "preveri.php",//this is the name of the mathemathical .php file
success: function(data){
$("#imamonkey").prepend(data);
}
})
});
});
</script>
</head>
<body>
<?php
echo "<table id='tablezz' border='1'>";
$counter=1;
for($i=0; $i<10; $i++){
echo"<tr>";
for($j=0; $j<10; $j++){
echo "<td> $counter </td>" ;
$counter=$counter+1;
}
}
echo"</tr>";
echo "</table>";
$_SESSION["rightx"] = rand(1,10);
$_SESSION["righty"] = rand(1,10);
echo"<br>
<br>
<textarea id='imamonkey' rows='30' cols='46'></textarea>";
?>
</body>
</html>
$(文档).ready(函数()
{
$(“#tablezz td”)。单击(函数()
{
var column_num=parseInt($(this.index());
var row_num=parseInt($(this.parent().index());
var dat={column:column_num,row:row_num};
$.ajax({
键入:“获取”,
数据:dat,
url:“preveri.php”,//这是mathemathical.php文件的名称
成功:功能(数据){
$(“#imamonkey”).prepend(数据);
}
})
});
});
在AJAX调用中,您试图将数据预先发送到文本区域:
$("#imamonkey").prepend(data);
$("#imamonkey").val(data);
这意味着数据放在DOM中的文本区域之前(如果查看浏览器控制台中的更新信息,您实际上可以看到数据)。您要做的是将数据放在文本区域:
$("#imamonkey").prepend(data);
$("#imamonkey").val(data);
在PHP文件中,需要添加session_start()代码>到文件的开头,以及您希望使用会话数据的任何文件,如HTML文件。您是否在浏览器控制台中观看了AJAX请求/响应?否,我该怎么做?我正在使用谷歌浏览器。(很抱歉,这是一个网络编程新手)F12
将显示有关浏览器运行情况的各种数据,包括请求、响应、连接等。非常感谢您的帮助AnkiiG.)可悲的是,这并没有解决任何问题;我以前从未遇到任何语法错误,或任何未定义的变量(或错误的会话启动),因此我认为这不是问题所在。还有其他想法吗?是什么导致了这一切?