Raylar JSON doğru (dizi tamsayı tuşları ile karma hale)bir WordPress kullanmak değil, çözme
her zaman Raylar için jQuery ile JSON nesneleri bir dizi yazmak istediğim, şöyle bir sorunum var.
Eğer diziyi ben stringify eğer bir WordPress kullanmak doğru çalışmalarını yaptığını görebiliyorum:
< . p ^"shared_items"=>"[{\"entity_id\":\"253\",\"pozisyon\":1},{\"entity_id\":\"823\",\"pozisyon\":2}]"
Ama eğer sadece dizi göndermek eğer ajax arama veri olarak alıyorum:
< . p ^"shared_items"=>{"0"=>{"entity_id"=>"", "Pozisyon"=>253 "1"}, "1"=>{"entity_id"=>"823", "pozisyon"=>"2"}}
Eğer sadece düz bir dizi göndermek ise çalışır:
< . p ^"shared_items"=>[""] entity_253
Neden Raylar garip karma dizi değişiyor? Aklıma gelen tek sebep Raylar yazın burada (bir şekilde jQuery çağrısında set var mı? yok çünkü doğru içeriğini anlayamaz ki:
SharedListsController tarafından işleme#oluşturun
Teşekkür ederim!
Güncelleme: Bir dizi, bir dize olarak verileri gönderiyorum ve dizi dinamik olarak kullanılarak oluşturulur .() işlevi itin. Çalıştı ile dolar.post ve $.ajax, aynı sonuç.
CEVAP
Birisi bunun üzerine tökezledi ve daha iyi bir çözüm istiyor diye, "contentType: 'application/json'" seçeneğini belirleyebilirsiniz .ajax çağrı ve Raylar var düzgün-string tüm değerleri ile tam sayı-anahtarlı karma haline garbling olmadan JSON nesne ayrıştırma.
Yani, özetlemek gerekirse, benim sorunum bu idi:
$.ajax({
type : "POST",
url : 'http://localhost:3001/plugin/bulk_import/',
dataType: 'json',
data : {"shared_items": [{"entity_id":"253","position":1}, {"entity_id":"823","position":2}]}
});
Raylar şeyler olarak ayrıştırma olmuştur:
Parameters: {"shared_items"=>{"0"=>{"entity_id"=>"253", "position"=>"1"}, "1"=>{"entity_id"=>"823", "position"=>"2"}}}
(NOT: şimdi javascript nesne stringifying ve içerik türü, bu yüzden raylar bizim dizeyi ayrıştırmak için nasıl bilecek) belirterek: Oysa bu
$.ajax({
type : "POST",
url : 'http://localhost:3001/plugin/bulk_import/',
dataType: 'json',
contentType: 'application/json',
data : JSON.stringify({"shared_items": [{"entity_id":"253","position":1}, {"entity_id":"823","position":2}]})
});
Raylar: güzel bir nesne olur
Parameters: {"shared_items"=>[{"entity_id"=>"253", "position"=>1}, {"entity_id"=>"823", "position"=>2}]}
Bu Raylar Ruby 1.9.3 3, benim için çalışıyor.
div ne zaman bir eylemi tetiklemek içi...
Entegre bir WordPress kullanmak için d...
't Class "x DİV Değil" E...
Nasıl bir WordPress kullanmak -$.() po...
JSON yanıt olarak bir WordPress kullan...