post方法ajax

时间:2012-12-09 20:28:00

标签: php javascript jquery

我做了这个代码。第一个有两个文件(index.html和jeu.php),当我提交表单时,我将重定向到另一个页面(jeu.php),所以问题出在点击事件

<html>
<head>
<title>Jeu de dammes</title>
</head>
<style>
form { margin-left:500px;margin-top:300px;  width:300px }
  </style>
<body>
<form id="formulaire" style="margin-left:100px, padding: 15px" method="post" >
<table>
<tr><td><h4> The first player</h4></td>
    <td><input   type="text"   id="premier" name="premier"></td>
</tr>
<tr><td><h4> The second player</h4></td>
    <td><input   type="text"   id="deuxieme" name="deuxieme"></td>
</tr>
<tr>
<td></td>
<td>
<button   id="action">Play</button></td>
</tr>
</table>
</form>
<script   src="jquery-1.5.1.js"></script>
<script>
$(function () {
    $('#formulaire').submit(function(e) {
    e.preventDefault();
    var j1 = $('#premier').val();
    var j2 = $('#deuxieme').val();
    if (j1 == "") alert('saisir le nom du premier joueur');
    if (j2 == "") alert('saisir le nom du deuxieme joueur');
    if (j2 != "" && j1 != "") {
    $.post('jeu.php',   {  premier:   j1,   deuxieme:   j2});
     window.location.href = "jeu.php";          
    }
});
    $('body').css('background-image', 'url(flower2.jpg)').css('background-size', '100%');
    $("#formulaire").css('background-image', 'url(flower.jpg)');
    });
</script>
</body>
</html>

和另一个文件(jeu.php):

<?php
echo $_POST["premier"]."<br/>";
echo $_POST["deuxieme"]."<br/>";
?>

问题:页面jeu.php总是空的

  1. 为什么?
  2. 我该如何更正我的代码?

1 个答案:

答案 0 :(得分:0)

如果您使用的是AJAX,那么jeu.php页面永远不会被“看到”......会发生什么:

1. index.html将数据发送到jeu.php,然后发送 2. jeu.php接收该数据,对其执行某些操作,并返回对index.html的响应。然后,
3. index.html对收到的数据做了一些事情 - 这一部分必须在index.html中的ajax方法的成功函数中完成。

我建议您使用jQuery AJAX方法的替代形式,因为它更容易看到如何布置代码。类似的东西:

$.ajax({
    type: "POST",
    url: "jeu.php",
    data: 'premier=' + j1 + '&deuxieme=' + j2,
    success: function(data) {
        alert('Server-side response was: ' + data);
    }
});

注意:

  1. 以上代码进入index.html
  2. jeu.php的回复回到了这个结构,并且(在这个例子中)成功函数被警告
  3. 以上代码替换了此代码:
  4. $.post('jeu.php', { premier: j1, deuxieme: j2});
    window.location.href = "jeu.php";