Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][PHP][JavaScript] Requested JSON parse failed.
Forum PHP.pl > Forum > Przedszkole
Paplo
Witam mam problem z "Requested JSON parse failed." rozwiązanie jest pewnie trywialne ale już siedzę nad tym kilka godzin i nie wiem co robić, bardzo prosiłbym o jakaś wskazówkę sad.gif

  1. // Delete record
  2. $(document).on("click","."+deletebutton,function(){
  3. var id = $(this).attr("id");
  4. var idDeliver = $('#deliverId').val();
  5. if(id){
  6. if(confirm("Napewno chcesz usunąć ten wiersz? Usuwanie będzie NIEODWRACALNE! ID Pro: "+id+" ID Deliv: "+idDeliver))
  7. ajax("iddd="+idDeliver+"&rid="+id,"del");
  8. }
  9. });
  10.  
  11. ajax = function (params,action){
  12. $.ajax({
  13. type: "POST",
  14. url: "php/ajax_deliverAdd.php",
  15. data : params+"&action="+action,
  16. dataType: "json",
  17. success: function(response){
  18. switch(action){
  19. ...
  20. case "del":
  21. var seclastRow = $("."+table+" tr").length;
  22. console.log("jestesmy w case del sekces");
  23. if(response.success == 1){
  24. $("."+table+" tr[id='"+response.id+"']").effect("highlight",{color: '#f4667b'},500,function(){
  25. $("."+table+" tr[id='"+response.id+"']").remove();
  26. });
  27. }
  28. break;
  29. ...
  30. }
  31. },
  32. error: function (jqXHR, exception) {
  33. var msg = '';
  34. if (jqXHR.status === 0) {
  35. msg = 'Not connect.\n Verify Network.';
  36. } else if (jqXHR.status == 404) {
  37. msg = 'Requested page not found. [404]';
  38. } else if (jqXHR.status == 500) {
  39. msg = 'Internal Server Error [500].';
  40. } else if (exception === 'parsererror') {
  41. msg = 'Requested JSON parse failed.';
  42. } else if (exception === 'timeout') {
  43. msg = 'Time out error.';
  44. } else if (exception === 'abort') {
  45. msg = 'Ajax request aborted.';
  46. } else {
  47. msg = 'Uncaught Error.\n' + jqXHR.responseText;
  48. }
  49. console.log(msg);
  50. }
  51. });
  52. }


oraz ajax_deliverAdd.php:
  1. if(isset($_POST) && count($_POST)){
  2.  
  3. $action = $_POST['action'];
  4. unset($_POST['action']);
  5.  
  6. if($action == "del"){
  7. $id = $_POST['rid'];
  8. $idD = $_POST['iddd'];
  9.  
  10. $resultArray = array();
  11.  
  12. $res = $deliverAdd->delete_record($id,$idD);
  13.  
  14. $resultArray["success"] = "1"; // = 1
  15. $resultArray["id"] = $id; // = 1014 // = "1014"
  16.  
  17. //if($res)
  18. echo json_encode($resultArray);
  19. //else
  20. //echo $deliverAdd->error("delete");
  21. }


class.php:
  1. public function delete_record($id,$idD){
  2.  
  3. $stmt = $this->db->prepare("DELETE FROM `deliveries_products` WHERE `deliveries_id` = :IDd AND `product_id` = :ID");
  4. $stmt->bindParam(':ID', $id);
  5. $stmt->bindParam(':IDd', $idD);
  6. $stmt->execute();
  7.  
  8. return true;
  9. }
  10.  
  11. function error($act){
  12. return json_encode(array("success" => "0","action" => $act));
  13. }


funkcja z mysql jest poprawna bo usuwa (po odświeżeniu nie ma tego rekordu) tylko ze nie ma animacji na stronie przez ajxa bo nie wchodzi w success tylko error ... i już nie mam pomysłu sad.gif proszę o jakaś wskazówkę sad.gif
viking
A console.log(response) zwraca poprawny JSON?
Paplo
a jak to sprawdzić?

dataType: "json",
success: function(response){
console.log(response);
switch(action){
case...

tak nie sprawdze bo nie wchodzi wogole do success

takie mam jeszcze po console.log(jqXHR);:
Cytat
Object {readyState: 4, responseText: "<br />?<b>Notice</b>: Undefined index: search in ? </div>
? {"success":"1","id":"1014"}", status: 200, statusText: "OK"}
viking
Odpowiedź możesz sprawdzić w dowolnym inspektorze albo firebug.
Pozbądź się tego undefined index i będzie prawidłowo.
Paplo
wiedziałem ze jakiś mały błąd był sad.gif
narzędzie "firebug" bardzo fajne lepsze od podstawowego "zbadaj"

w innym kodzie miałem
if($_POST){}
i się nakładały post
zmieniłem na if(isset($_POST['search'])) i jest ok sad.gif jeszcze dużo pracy mnie czeka smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.