2010-03-15 14 views
2

上午試圖驗證使用AJAX調用在JQuery中連載我的JSON輸出問題

$("#button").click(function() { 
    $.ajax({      
     type: "POST", 
     url: "<?php echo $this->baseUrl() ?>/expensetypes/async", 
     data: 'fs=' + JSON.stringify($('#myform').serialize(true)),     
     contentType: "application/json; charset=utf-8", 
     dataType: "json" 
     }); 
    }); 

我的形式在我的控制我的代碼如下

//Map the form from the client-side call 
     $myFormData = Zend_Json::decode($this->getRequest()->getParam("fs") 
          ,Zend_Json::TYPE_ARRAY); 

     $form = new Form_Expensetypes(); 
     $form->isValid($myFormData); 

但是從螢火蟲我的輸出如下

fs="id=&expense_types_code=AAA&expense_types_desc=CCCC&expense_types_linkemail=XXXX&expense_types_budgetamount=22222&expense_types_budgetperiod=22222" 

我期望的是類似於

fs{"expense_types_code":"AAA","expense_types_desc":"CCCC","expense_types_linkemail":"XXXX","expense_types_budgetamount":"22222"} 

如何實現這種類型的序列化?

回答

0

jQuery serialize函數總是返回一個URL編碼的字符串。取而代之的是,使用serializeArray以及一些陣列。

+0

我現在使用的是serializedArray,雖然輸出現在不同,並且接近我期望它與預期輸出不相似的地方,所以Zend_Json :: decode可以很好地工作。 也許我在服務器端的解碼需要調整... – davykiash 2010-03-15 14:23:51