Имея проблемы с передачей ajax до $_POST
, он всегда возвращает false.
То, что я пытался до сих пор:
- Использование CONTENTTYPE:
'application/json; charset=UTF-8'
, - Создание функции для AJAX и добавление к JQuery OnClick
- Удалены DATATYPE в Javascript,
console.log: Object {readyState: 0, responseText: "", status: 0, statusText: "error"}
- С dataType в Javascript,
Object {readyState: 4, responseText: "↵ ↵Failed to hold<br>", status: 200, statusText: "OK"}
Javascript:
$(document).ready(function(){
$("#showcart").click(function(event){
event.preventDefault();
$.ajax({
data: {'jCart':JSON.stringify(cart)},
type: 'POST',
dataType: 'json',
url: 'storecart.php',
contentType:'application/json; charset=UTF-8',
success: function(data){
console.log("Success")
},
error: errorFunction
});
});
});
function errorFunction(){
console.log("Error");
}
Storecart.php
<?php
if(isset($_POST['jCart'])){
$decode = json_decode($_POST['jCart']);
$_SESSION['receive'] = $decode;
$product = $_SESSION['receive'];
}
else{
echo "Failed to hold<br>";
}
?>
Cart.php
<?php
session_store();
include(Storecart.php);
?>
На консоли, он будет говорить "Error"
.
На тележке.PHP скажет "Failed to hold"
.
Что я знаю, так это то, что ajax работает неправильно, я не знаю, как его исправить.
ПОЧТИ РЕШЕНИЕ для AJAX, но не может по какой-то причине
Не знаю почему, но это работает для меня.
Создание функции:
function showcart(){
var jData = JSON.stringify(cart);
$.ajax({
url:"storecart.php",
type:"post",
data: 'datastring=' + jData,
datatype: "json",
success: function(data){
console.log("SUCCESS")
console.log(jData);
},
error: function(data){
console.log("REDO")
}
});
}
Добавить это в JavaScript:
$(document).ready(function(){
$("#showcart").click(function(event){
event.preventDefault();
showcart();
});
});
Попробуйте изменить ошибки обратного вызова и дайте нам знать, что вы видите в консоли. error: 'function (data) {console.log (данные); } ' – Sina
@Sina' Object {readyState: 4, responseText: "↵ ↵Failed to hold
", статус: 200, statusText: "OK"} ' –
Попробуйте' метод: 'POST'' вместо 'type'. – Sina