2011-03-09 3 views
0

Я пытаюсь сделать довольно простой $ .post() с jQuery. У меня типичная форма со входами и кнопка в конце с 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

Помимо недостатков безопасности, есть так много, что может пойти не так здесь. Вы используете firebug для проверки ответа? – JamesHalsall

ответ

2

Внутри buyCoup.php вы также хотели бы вернуть что-то, возможно, json как {"success": 1} и отправить json-заголовок тоже из php.

Если вы не вернете что-то в вызов 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}';