2016-10-09 3 views
0

Probleme mit dem Ajax zu $_POST übergeben, es gibt immer falsch zurück.

Was ich bisher versucht:

  • Mit content: 'application/json; charset=UTF-8',
  • eine Funktion für Ajax und das Hinzufügen zu jQuery Erstellen Onclick
  • entfernt datatype in Javascript, console.log: Object {readyState: 0, responseText: "", status: 0, statusText: "error"}
  • Mit dataType in 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); 
?> 

Auf der Konsole wird essagen.

Auf dem cart.PHP wird es "Failed to hold" sagen.

Was ich weiß ist, dass Ajax nicht richtig läuft, ich weiß nicht, wie ich es beheben kann.

FAST SOLUTION für Ajax, aber es kann aus irgendeinem Grund

nicht schreiben Sie wissen nicht, warum, aber es funktionierte für mich.

Erstellen Sie eine Funktion:

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") 
     } 
    });  
} 

es dem javascript:

$(document).ready(function(){ 
    $("#showcart").click(function(event){ 
     event.preventDefault(); 
     showcart(); 
     }); 
    }); 
+0

Versuchen Sie, Ihren Fehler-Callback zu bearbeiten und lassen Sie uns wissen, was Sie in der Konsole zu sehen. Fehler: 'Funktion (Daten) {console.log (Daten); } ' – Sina

+0

@Sina' Objekt {readyState: 4, responseText: "↵ ↵Failed zu halten
", Status: 200, statusText: "OK"} ' –

+0

Versuchen' Methode: 'POST'' anstelle von 'type'. – Sina

Antwort

0

Sie nicht Wagen überall erklären haben, die in Daten Daten sendet: { 'jCart': JSON.stringify (Warenkorb)}

+0

Warenkorb ist im Javascript deklarieren, hat es nicht in diesem Code –

0

Versuchen Sie, Ihren Code wie folgt zu ändern:

 var dataJcart = { 
     "var": "example jcart" 
     }; 
     var dataString = JSON.stringify(dataJcart); 

      $(document).ready(function(){ 
      $("#showcart").click(function(event){ 
      event.preventDefault(); 
      $.ajax({ 
       url: 'storecart.php', 
       type: 'POST', 
       data:{'jCart': dataString}, 
       success: function(data){ 
        console.log(data); 
       }, 
       error: errorFunction 
      }); 

     }); 
    }); 
    function errorFunction(){ 
    console.log("Error non"); 
} 

Storecart.php

if(isset($_POST["jCart"])) 
    { 
     $decode = json_decode($_POST["jCart"]); 
     echo $decode->var; 
    } 
Verwandte Themen