2011-03-09 2 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でフォームを投稿しなければならないし、成功時に特定の要素を表示/非表示します。

以前はjQueryなしでフォームが送信されていたため、HTMLは問題ありません。ここで

は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

答えて

2

buyCoup.phpの中で、{"success":1}のような何かjsonを返し、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}'; 
関連する問題