次のコードを使用してカートに商品を追加しますが、商品をカートに追加するたびに、製品がカートに追加されますが、エラーが発生します:JSONデータの1行目のカラム1の予期しないデータがfirefoxに表示されます。 クロムで、エラーが発生しました:Uncaught SyntaxError:Object.successのJSON.parse()でJSON入力が予期せず終了しましたエラー:JSON.parse:JSONデータの第1行第1列の予期しないデータ
私はすでにconsole.logを使用しようとしましたが、エラー。私はいくつかの解決策を試しましたが、解決できませんでしたので、ここで助けを求めるようになりました。
のjQuery:
$(document).ready(function() {
//add a product in the cart
$('#add-to-cart').click(function() {
$("#addtocartform").submit(function(e) {
var prod_id = $("#add-to-cart").data("id");
var prod_mode = $("input[name=course_mode]:checked").val();
$.ajax
({
url: '/cart/add',
type: 'POST',
data: jQuery.param({ prod_id: prod_id, prod_mode: prod_mode}),
dataType: 'text',
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
success: function (data) {
//console.log(data);
var frontend_cart_result = JSON.parse(data);
$('#dropdowncart').html(frontend_cart_result['cart_li']);
$('.badge').text(frontend_cart_result['cart_item_quantity']);
$(location).attr('href', '/checkout');
},
error: function() {
alert("error");
}
});
e.preventDefault(); // avoid to execute the actual submit of the form.
});
});
})
はPHP:パス/カート/ここ
public function add() {
//session_destroy();
//$_SESSION['cart'][0]['id'] = 'teste';
$cart_go = true;
if (!empty($_SESSION['cart'])) {
foreach ($_SESSION['cart'] as $valor) {
if ($valor['id'] == $_POST['prod_id']) {
$cart_go = false;
}
}
}
if ($cart_go) {
$db = new productModel();
//check if product has already been added
if (!empty($_SESSION['cart'])) {
$next_key = max(array_keys($_SESSION['cart']));
$next_key++;
} else {
$next_key = 0;
}
$_SESSION['cart'][$next_key] = $db->selecionaproduto(array("prod_id" => $_POST['prod_id']));
//add all the products filds in session
//bought the online course
if ($_POST['prod_mode'] == 1) {
$_SESSION['cart'][$next_key]['classroom_price'] = '';
}
//bought the classroom course
if ($_POST['prod_mode'] == 2) {
$_SESSION['cart'][$next_key]['online_price'] = '';
}
$frontend_cart = '';
foreach ($_SESSION['cart'] as $valor2) {
$frontend_cart = $frontend_cart . '<li>
<span class="item">
<span class="item-left">
<img src="/web-files/img/course/' . $valor2['id'] . '/' . $valor2['top_nav_cart_thumbnail'] . '" alt="">
<img src="/web-files/img/course/' . $valor2['id'] . '/' . $valor2['top_nav_cart_thumbnail'] . '" alt="">
<span class="item-info">
<span>' . $valor2['name'] . '</span>
<span><strong>R$ ' . number_format($valor2['online_price'] . $valor2['classroom_price'], 2, ',', '.') . '</strong></span>
</span>
</span>
<span class="item-right">
<button data-id="' . $valor2['id'] . '" class="btn btn-xs btn-danger pull-right delete-cart-item">x</button>
</span>
</span>
</li>';
}
$frontend_cart = $frontend_cart . '<li class="divider"></li>
<li><a class="text-center" href="/checkout">Cart</a></li>
<li class="divider"></li>
<li><a class="text-center" href="/checkout">Checkout</a></li>';
$frontend_cart_result = array(
"cart_li" => $frontend_cart,
"cart_item_quantity" => count($_SESSION['cart'])
);
echo json_encode($frontend_cart_result);
}
}
を追加するにconsole.log
{"cart_li":"<li>\r\n <span class=\"item\">\r\n <span class=\"item-left\">\r\n <img src=\"\/web-files\/img\/curso\/1\/psicofarmacologia-na-infancia-e-adolescencia-top-nav-cart.jpg\" alt=\"\">\r\n <span class=\"item-info\">\r\n <span>Curso de atualização em psicofarmacologia na infância e adolescência<\/span>\r\n <span><strong>R$ 999,00<\/strong><\/span>\r\n <\/span>\r\n <\/span>\r\n <span class=\"item-right\">\r\n <button data-id=\"1\" class=\"btn btn-xs btn-danger pull-right delete-cart-item\">x<\/button>\r\n <\/span>\r\n <\/span>\r\n <\/li><li class=\"divider\"><\/li>\r\n <li><a class=\"text-center\" href=\"\/checkout\">Cart<\/a><\/li>\r\n <li class=\"divider\"><\/li>\r\n <li><a class=\"text-center\" href=\"\/checkout\">Checkout<\/a><\/li>","cart_item_quantity":1}
戦車あなたです!
あなたが '' //console.log(データ) 'コメントアウト;' ''データの値は何ですか?他のコードは無関係です...値を参照する必要があります。おそらく不正形式です –
[あなたのJSONを検証する](http://jsonlint.com/)とあなたの特定の問題を修正しないでください。 – mopsyd
問題のconsole.log(date)を含めました – Rangel