2011-03-09 72 views
0

我想用jQuery做一个相当简单的$ .post()。我有一个带有输入的典型表单,最后带有一个ID为#subBuy的按钮。jQuery Ajax POST不通过

这里是我的jQuery:

$('#subBuy').live('click',function() { 
     $.post('php/buyCoup.php', $('#buyCoup').serialize(), function(){ 
      $('#buyCoup').hide(); 
      $('#success').show(); 
     }); 
    }); 

当我按一下按钮,就应该发布使用Ajax和表演形式/隐藏在成功的某些元素。

我知道HTML很好,因为之前没有提交过jQuery的表单。

这里是buyCoup.php:

<?php 
    session_start(); 
     $con = mysql_connect("localhost","foo","bar"); 
     mysql_select_db("coupons", $con); 

    $retailerName = $_REQUEST["retailerName"]; 
    $intDeal = $_REQUEST["intDeal"]; 
    $coupTerms = $_REQUEST["coupTerms"]; 
    $datePicker = $_REQUEST["datepicker"]; 

    mysql_query("correctly functioning query to insert the data"); 
?> 

任何帮助吗?

+1

除了安全漏洞,有这么多可以去错在这里。你用萤火虫来检查回应吗? – JamesHalsall 2011-03-09 16:21:15

回答

2

里面的buyCoup.php,你也想要返回一些可能像json {“success”:1}的东西,并从PHP发送一个JSON头。

如果你没有返回一些jquery ajax调用,它可能不会调用你的完整函数。

在buyCoup.php结束时,你可以添加以下这一点:

header('Cache-Control: no-cache, must-revalidate'); 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header('Content-type: application/json'); 

echo '{"success": 1}';