Bir JQuery Ajax Çağrı PHP Succes bir nesne kabul edebilir?

4 Cevap php

Ben basit bir ajax işlevi yazma ve 'başarı' sonuçları ile iki metin giriş alanları doldurmak için arıyorum. Benim php sözdizimi bir nesneyi döndürmek için ne olması merak ediyorum.

İşte benim Javascript fonksiyonu

function editModule(a){
    data = {moduleNum:a}
    $.ajax({
        type: 'POST',
        data: data,
        url: 'includes/ajaxCalls.php',
        success: function(data) {
            alert(data['title']); // <-- This is where I'm not sure what to return from php
        }
    });
}

İşte benim php doc (Bir nesneyi döndürmek için bilmek gereken yere kadar, bu is) ...

<?php
$data =  array('title'=>'this');
echo json_encode($data);

Ben işlevini çalıştırdığınızda sadece "tanımsız" uyarı olsun.

Önerileriniz?

Thanks, -J

4 Cevap

Bu deneyin. Eğer bir JSON nesnesi bekliyorsanız belirtebilirsiniz ve daha sonra buna göre data yorumlayabilir.

function editModule(a){
    data = {moduleNum:a}
    $.ajax({
        type: 'POST',
        data: data,
        dataType: 'json',
        url: 'includes/ajaxCalls.php',
        success: function(data) {
            alert(data.title);
        }
    });
}

Ben, bir jQuery Ajax çağrı yoluyla sunucudan JSON veri dönmedi PHP ama aynı olmalıdır var. Sürece set olarak uygulama / json jQuery için yanıt içerik türü bir JSON dize olarak responseText düşünmelisiniz. Eğer JSON beklediklerini jQuery söyler Ajax çağrısı "JSON": Alternatif olarak dataType ayarlayabilirsiniz.

Your php page returns: {"title":"this"} in this case. So you can reference the result with:

alert (data.title);

Sen veri türünü belirtmek gerekebilir:

function editModule(a){
    data = {moduleNum:a}
    $.ajax({
        type: 'POST',
        data: data,
        url: 'includes/ajaxCalls.php',
        dataType: 'json',
        success: function(data) {
            alert(data['title']); // <-- This is where I'm not sure what to return from php
        }
    });
}