尝试使用AJAX调用验证我的表单
$("#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);
然而,从firebug我的输出如下
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 :(得分:0)
jQuery serialize
函数始终返回URL编码的字符串。之后使用serializeArray
进行一些数组修改。