2010-05-26 22 views
19

Jestem trochę początkującym z extJS i jsonem. Jaka jest najbardziej bezbolesna droga do danych json POSTing przy użyciu extJS? Nie jestem zainteresowana żadnymi funkcjami GUI, tylko za pomocą frameworka wysyłam próbki danych.Jak publikować dane json za pomocą extJS

Odpowiedz

24
Ext.Ajax.request({ 
    url: 'foo.php', // where you wanna post 
    success: passFn, // function called on success 
    failure: failFn, 
    params: { foo: 'bar' } // your json data 
}); 
+0

Oh wow, to było o wiele łatwiejsze niż się spodziewałem. Dzięki!!!!! – maximus

+22

Spowoduje to opublikowanie adresów URL takich jak dane ... IOW, bufor POST będzie foo = bar. Jeśli zastąpisz 'params' dla' jsonData', to wyśle ​​on surowy JSON, więc bufor POST będzie '{" foo ":" bar "}' – SBUJOLD

+0

W ExtJS 4.1 możesz użyć elementu jsonData. – Chris

3

Zamieszczone tutaj przykłady pokazują podstawowy pomysł. Aby uzyskać szczegółowe informacje na temat wszystkich konfigurowalnych opcji, patrz Ext.Ajax docs.

+0

Link jest uszkodzony, musisz przejść do sekcji EXT.Ajax – oden

6

Wystarczy dodać swoje trzy grosze:

// 
//Encoding to JSON: 
// 
var myObj = { 
    visit: "http://thecodeabode.blogspot.com/" 
}; 
var jsonStr = Ext.encode(myObj); 


// 
// Decoding from JSON 
// 
var myObjCopy = Ext.decode(jsonStr); 
document.location.href = myObj.visit; 
19

Poniższa zidentyfikuje jako żądanie 'POST'

Ext.Ajax.request({ 
     url: 'foo.php', // where you wanna post 
     success: passFn, // function called on success 
     failure: failFn, 
     jsonData: { foo: 'bar' } // your json data 
    }); 

Poniższa zidentyfikuje jako 'GET' Żądanie

Ext.Ajax.request({ 
    url: 'foo.php', // where you wanna make the get request 
    success: passFn, // function called on success 
    failure: failFn, 
    params: { foo: 'bar' } // your json data 
}); 
+1

możesz również użyć parametru 'method: 'POST'/'GET'': http://docs.sencha.com/extjs/4.1.3/#! /api/Ext.Ajax-property- method – efirat

0

Code Snippet:

Ext.Ajax.request({ 
    url: "https://reqres.in/api/users", 
    success: function (response) { 
     Ext.Msg.alert("success", response.responseText); 
    }, 
    failure: function() { 
     Ext.Msg.alert("failure", "failed to load") 
    }, 
    params: { 
     "name": "morpheus", 
     "job": "leader" 
    } 
}); 

Fiddle: https://fiddle.sencha.com/#view/editor&fiddle/28h1

Powiązane problemy