2013-05-13 12 views
5

Ich habe ein Problem mit meinem ZF2 basierten Anwendung und Backbone am Frontend. Irgendwo im Frontend Ich betreibePHP ZF2 - Erholsamer Controller Backbone PUT-Methode falsche Analyse

this.model.save({ 
    city_id: parseInt(this.$el.find('#city_id').val()), 
    from: this.$el.find('#from').val(), 
    to: this.$el.find('#to').val(), 
    price: parseInt(this.$el.find('#price').val()) 
}); 

Ich schalte mein Chrome Sniffer und sehen Sie die Anfrage Details:

PUT /account/trip/2 HTTP/1.1 
Host: jamydays.ru 
Connection: keep-alive 
Content-Length: 186 
Accept: application/json, text/javascript, */*; q=0.01 
Origin: http://jamydays.ru 
X-Requested-With: XMLHttpRequest 
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31 
Content-Type: application/json 
Referer: http://jamydays.ru/account 
Accept-Encoding: gzip,deflate,sdch 
Accept-Language: en-US,en;q=0.8 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Cookie: PHPSESSID=pekjbefmi1jn01q5fgm4gu6jk0; _ym_visorc=w 

Und Anfrage Nutzlast:

{"from_formatted":"10 маÑ","to_formatted":"19 маÑ","url":"/account/trip","id":2,"city_id":65170,"city":"Baardheere","from":"10-05-2013","to":"19-05-2013","price":500,"is_active":1} 

Conroller verwendet diese Anforderung läuft zu handhaben geeignete Maßnahmen:

class TripController extends AbstractRestfulController{ 
    ... 
    public function update($id, $data){ var_dump($id, $data);exit(); } 
    ... 
} 

Mein Problem ist, dass ich in Folge sehen:

string(1) "2" 
array(1) { 
    ["{"from_formatted":"10_мая","to_formatted":"19_мая","url":"/account/trip","id":2,"city_id":65170,"city":"Baardheere","from":"10-05-2013","to":"19-05-2013","price":500,"is_active":1}"]=> 
    string(0) "" 
} 

Hier sehen wir, dass id analysiert gut, aber alle Daten fallen in Schlüssel von einem seltsamen Array. Jetzt bin ich das Abrufen von Daten aus diesem Schlüssel, aber denk, das schlecht ist. Könnte mir jemand helfen, herauszufinden, wie man Controller-Daten richtig parsen lässt?

UPDATE

Nun scheint es, die Lösung nur ZF2 bis 2,2 stabile Version zu aktualisieren ist.

+1

Welche Version von zf2 verwenden Sie (Afaik mindestens 2.1 erforderlich)? Versuchen Sie 'protected $ jsonDecodeType = Json :: TYPE_OBJECT;' in der Klasse TripController. – jgb

+1

@jgb Aktualisierung auf ZF2.2 stabil geholfen. – zeliboba

+1

Können Sie es markieren, wie gelöst? – ThaDafinser

Antwort

0

Frage ist gelöst. Wenn Sie das gleiche Problem nur aktualisieren Sie Ihre ZF2 bis 2,2 stabile Version oder später konfrontiert.

+0

@bummi Ich habe es getan – zeliboba

+0

Danke, ein wenig Bearbeitung auf die Frage zu? – bummi