まあ、dajaxの "djangoフォーム"の例に似たフォームがありますが、JSONが処理されていないことを除いてすべて正常に動作していますので、jquery.dajax.coreを修正しました。このようなJS:JSONがブラウザに戻って処理されると、私は最初の "Entroを!" を取得Django/Dajaxプロセスは処理されていません
[{"cmd": "remcc", "id": "#contact_form", "val": ["error"]}, {"cmd": "alert", "val": "Thank you, Alejandro"}, {"cmd": "js", "val": "alert(\"jummmmm\");"}]
が、何もない:
...
process: function(data)
{
if(data==Dajaxice.EXCEPTION){
alert('Something went wrong, please reload the page.');
}
else{
console.log(data);
alert("ENTRO!");
$.each(data, function(i,elem){
alert("ENTRO!2");
console.log(elem.cmd);
switch(elem.cmd)
{
case 'alert':
alert(elem.val)
break;
...
一つは、私のajax.pyからJSONを返しますJSONの何も処理されません。 意図的にajax.py関数内のものを壊した場合、正しい動作を得て、Dajaxice.EXCEPTIONに警告します。
提案がありますか?
--EDIT--
Dajax.process機能:
validateContactForm = function() {
datos = jQuery('#contact_form').serializeObject();
console.log(datos);
// jQuery
// If you are using jQuery, you need this form->object serializer
// https://github.com/cowboy/jquery-misc/blob/master/jquery.ba-serializeobject.js
Dajaxice.ajax.validateContactForm(Dajax.process,{'formulario':datos});
}
そしてajax.py機能:
from dajax.core import Dajax
@dajaxice_register
def validateContactForm(request, formulario):
dajax = Dajax()
form = ContactoForm(formulario)
if form.is_valid():
dajax.remove_css_class('#contact_form','error')
dajax.alert(_("Thank you, %(name)s") % {"name":form.cleaned_data.get('nombre')})
form.save();
dajax.script('alert("jummmmm");')
print dajax, dir(dajax)
else:
dajax.remove_css_class('#contact_form','error')
print form.as_ul()
for error in form.errors:
dajax.add_css_class('#id_%s' % error,'error')
print error
print dajax, dir(dajax)
return dajax.json()
[OK]を、Firebugのサイレント失敗し、クロムは言う:
Uncaught TypeError: Cannot call method 'each' of undefined
Dajax.process
oXMLHttpRequest.onreadystatechange
b.dispatchEventda
k
b.open._object.onreadystatechange
オペラトンボ:同じ動作でテスト
Uncaught TypeError: Cannot call method 'each' of undefined
Dajax.processjquery.dajax.core.js:11
oXMLHttpRequest.onreadystatechangedajaxice.core.js:100
b.dispatchEventdajaxice.core.js:141
kdajaxice.core.js:135
b.open._object.onreadystatechange
jQueryのバージョン:
1.6.2 1.6.2.min 1.6.4
http://stackoverflow.com/questions/1184624/serialize-form-to-json-with-jquery – wissam
私たちの回答の下にある編集リンクを使用して編集することができます – oers