JSON jQuery PHP

3 Cevap php

Ben bir şey anlamıyorum. Ben Ajax kullanarak jQuery PHP JSON veri (anahtar-değer-çiftleri) almak istiyorsanız, aşağıdaki olanlar hangi kullanmalıyım?

  • $.get
  • $.post
  • $.getJSON

Ben bir PHP dosyası json_encode kullanmak istiyorsanız getJSON kullanmanız gerekir mi? Ben yazı ile göndermek istiyorsanız Ama ne (hayır postJSON var)?

Ve bir şey daha:

Bir PHP dosyası yazdım:

<?php
    if($_GET['value'] == "value")
    {
        $array['firstname'] = 'Johnny';
        $jsonstring=json_encode($array);
        return $jsonstring;
    }
?>

JQuery dosyasında:

  $.getJSON("php.php", {value: "value"}, function(data){
      alert(data.firstname);
  });

Bu neden çalışmıyor?

3 Cevap

Sorun PHP hattı ile yatıyor:

return $jsonstring;

Bunu yerine bunu yankı gerekir:

echo $jsonstring;

Eğer saf json dize döndürmek eğer hangi jQuery kullanmak yöntem gelince, ben $.getJSON() öneririz. Gerçekten bunu nasıl kullandığınıza bağlıdır.

Kullanırken $.getJSON(), sunucu dosya bir JSON dize dönmelidir. Böylece json_encode() $.getJSON() yöntemi yanıt almak için uygun olacağını tarafından döndürülen dize yankılanıyordu.

Sen .ajax kullanabilir, bu her iki get ve post yapmanızı sağlar.

Ben her zaman $ kullanın. Ajax.

$.ajax({
     url: "script.php",
     type: "POST",
     data: { name : "John Doe" },
     dataType: 'json',
     success: function(msg){
        alert(msg);
     }
});

PHP:

$name = $_POST['name']
echo $name

Bu "John Doe" uyaracaktır

Ayrıca, bu çalışma değilse, değerler etrafında geçirilen görmek için kundakçı kullanın.