2013-08-22 3 views
0

им новое для AJAX, но я не undersend ошибку у меня есть этот код:Как получить успех по запросу jquery ajax?

function text_ajax(){ 
    $('.purchase-btn').click(function() { 
    var JSONObject= { 
     "prod_name":   $('.soc-name span').text(), 
     "prod_quantity":  $('.soc-amount span').text(), 
     "prod_price":   $('.soc-price span').text(), 
     "prod_line_price": $('.soc-total span').text(), 
     "prod_shipment_price":$('.soc-shipping-fee span').text(), 
     "prod_vat":   $('.soc-vat-fee span').text(), 
     "prod_total_price": $('.soc-total-sum').text(), 
     }; 

    $.ajax({ 
     type: "POST", 
     dataType: "json", 
     url: "/soda/checkout/ajax_post", 
     data: {myData: JSON.stringify(JSONObject)}, 
     success: function(){ 
      alert('Items added'); 
     }, 
     error: function(e){ 
      alert(e.message); 
     } 
    }); 

    }); 
} 

и я получить все элементы, но стил получаю ошибку может помочь Сомон?

+0

У вас есть ненужная запятая здесь '$ ('. Soc-total-sum'). Text(),' <- –

+0

Вы действительно хотите передать все свои данные в виде строки? потому что вы можете просто делать «данные: JSONObject» внутри вашего вызова ajax ... Также - почему вы привязываете обработчик события click внутри функции? –

+0

* «но я не отклоняю ошибку» * какая ошибка? Я предполагаю, что ваш сервер не возвращает действительный json. –

ответ

4

Во-первых, я бы переместил обработчик события щелчка, чтобы вызвать функцию, в которой он содержится.

Во-вторых, поскольку указано, что есть незавершенная запятая, и данные не обязательно должны быть стволовыми.

$('body').on('click', '.purchase-btn', function() { 
    var JSONObject= { 
     "prod_name":   $('.soc-name span').text(), 
     "prod_quantity":  $('.soc-amount span').text(), 
     "prod_price":   $('.soc-price span').text(), 
     "prod_line_price": $('.soc-total span').text(), 
     "prod_shipment_price":$('.soc-shipping-fee span').text(), 
     "prod_vat":   $('.soc-vat-fee span').text(), 
     "prod_total_price": $('.soc-total-sum').text() 
    }; 

    $.ajax({ 
     type: "POST", 
     dataType: "json", 
     url: "/soda/checkout/ajax_post", 
     data: JSONObject, 
     success: function(){ 
      alert('Items added'); 
     }, 
     error: function(e){ 
      alert(e.message); 
     } 
    }); 

}); 

Пожалуйста, разместите фактическое сообщение об ошибке, если оно есть после использования этого модифицированного кода.