2017-11-22 2 views
-3

Ich bin ziemlich neu zu Ajax, nur zu lernen, und machte eine einfache Seite auf localhost Getes und Beiträge von/nach JSON-Datei in den gleichen Ordner zu testen.Jquery-Ajax ist nicht erfolgreich

Während GET reibungslos funktioniert, kann ich nicht herausfinden, warum Post nicht passiert, wenn ich auf den Button, dem ich diese Funktion zugewiesen habe, klicke. Bitte schauen Sie in meinen Code und Hilfe.

element = $("#mylist"); 
var item2 = $("#mytable"); 

$.ajax({ 
    type: "GET", 
    url: "data.json", 
    success: function(response) { 
    $.each(response, function(i, item) { 
     element.append("<li>" + item.fname + " " + item.lname + "</li>"); 
     item2.append("<tr><td>" + item.lname + "</td>" + "<td>" + item.fname + "</td></tr>"); 
    }); 
    }, 
    error: function() { 
    alert("error"); 
    } 
}); 

$("#additem").on('click', function() { 
    var $fname = $("#fname"); 
    var $lname = $("#lname"); 
    var $city = $("#city"); 
    var order = { 
    fname: $fname.val(), 
    lname: $lname.val(), 
    city: $city.val() 
    }; 
    console.log(order); 

    $.ajax({ 
    type: "POST", 
    url: "data.json", 
    data: order, 
    succes: function() { 
     console.log("succes"); 
    }, 
    error: function() { 
     console.log("no success"); 
    } 
    }); 
}); 

JSFiddle

+0

Wo ist Ihr Code? – mituw16

+1

Ist Ihr Server so konfiguriert, dass Daten wie bei einem GET an eine POST-Anforderung zurückgegeben werden? Bitte geben Sie auch alle relevanten Codes in die Frage ein. Die Einschränkungswarnung, mit der Sie gearbeitet haben, ist aus einem bestimmten Grund da. –

+5

Sie können nicht an eine '.json' Datei POST, es ist kein serverseitiges Skript, das wie PHP ausgeführt wird –

Antwort

1

Das Problem ist, dass Sie auf eine .json Datei zu schreiben versuchen, wie Patrick Evans in den Kommentaren sagt. Sie müssen den Beitrag an ein Skript zu tun, in PHP Sie so etwas wie dies tun könnte: für diese

$order = $_POST['order']; 
// Do something with order... 
echo $order; // or echo success message 

Natürlich können Sie PHP auf Ihrem Server ausgeführt werden müssen arbeiten (localhost).

Verwandte Themen