2011-09-09 19 views
6

jQuery के माध्यम से, मैं इस jsonsymfony2 में एक json को php ऑब्जेक्ट में कैसे परिवर्तित करें?

{"indices":[1,2,6]}: 

AJAX/पोस्ट एक symfony2 कार्रवाई करने के लिए। अभी मैं केवल सरणी की देखभाल करता हूं, इसलिए यदि यह चीजों को काफी आसान बनाता है तो मैं केवल [1,2,6] पोस्ट कर सकता हूं।

मैं इसे एक php ऑब्जेक्ट में कैसे परिवर्तित कर सकता हूं?


किसी तरह

, यह काम नहीं करता:

/** 
* @Route("/admin/page/applySortIndex", name="page_applysortindex") 
* @Method("post") 
* @Template() 
*/ 
public function applySortIndexAction() 
{ 
    $request = $this->getRequest(); 
    $j = json_decode($request->request->get('json')); 
    $indices = $j->indices; 
    return array('data'=> $indices); 
} 

देता है एक

नोटिस: में .../PageController.php लाइन 64 गैर वस्तु की संपत्ति प्राप्त करने के लिए कोशिश कर रहा है (500 आंतरिक सर्वर त्रुटि)

जहां मैं $ जे-> इंडेक्स एक्सेस करता हूं, जहां $ जे शून्य


पोस्टर:

$.ajax({ 
     type: 'POST', 
     url: "{{ path('page_applysortindex')}}", 
     data: $.toJSON({indices: newOrder}), 
     success: ... 
+0

मुझे लगता है कि आप इस पोस्ट पैरामीटर – Raffael

+0

मैं सक्रिय रूप से किसी भी नाम का उपयोग नहीं कर रहा हूँ के लिए एक नाम के रूप में "json" का उपयोग नहीं किया है, मैं js ऊपर ... – Jan

+0

आह पोस्ट करेंगे , इसलिए मुझे डेटा लिखना है: "डेटा =" + $ .toJSON ({सूचकांक: newOrder}) और सब ठीक है। शायद इसके लिए एक अच्छा समाधान है। – Jan

उत्तर

5

शरीर उपयोग के माध्यम से भेजे गए डेटा प्राप्त करने के लिए:

$request = $this->getRequest(); 
$request->getContent(); 

उत्पादन का निरीक्षण किया और उसके बाद पर काम करते हैं। लेकिन इसमें जेसन शामिल होगा।


एक नियंत्रक के भीतर से नाम json के साथ एक बाद पैरामीटर हो रही (। हां, यह यह आपके json की ओर जाता है परीक्षण किया):

$request = $this->getRequest(); 
$request->request->get('json'); 

Request-object


$j = json_decode('{"indices":[1,2,6]}'); 

var_dump($j); 

ली डी एस के लिए:

object(stdClass)#1 (1) { 
    ["indices"]=> 
    array(3) { 
    [0]=> 
    int(1) 
    [1]=> 
    int(2) 
    [2]=> 
    int(6) 
    } 
} 
+0

बहुत बहुत धन्यवाद! यदि आप सही लड़के से पूछ सकते हैं तो चीजें इतनी आसान हो सकती हैं :) – Jan

+1

Arrgh, लेकिन मैं अनुरोध से जेसन कैसे प्राप्त करूं? – Jan

+0

मुझे अभी भी जेसन नहीं मिल रहा है। मैंने प्रश्न में वास्तविक विधि दिखाने के लिए अपना प्रश्न अपडेट किया ... – Jan

संबंधित मुद्दे