我正在尝试从表格中的ajax搜索功能发回选定的项目。我的帖子功能运行良好它在我的firebug网络中有200个状态,这就是它在我的html中发布的内容:null {“sp”:null,“serviceprovider”:null}和response:null {“sp”:null ,“serviceprovider”:null}。根据我的申请,我什么也没收到。这是我用
称呼的代码控制器
public function postserviceproviderAction()
{
$form = new Form_IndustrialTable();
$this->view->form = $form;
if(!$form->isValid($_POST))
{
$values=$form->getValues();
}
$sp = $this->getRequest()->getPost('serviceprovider', null); //problem lies here I think
$mdlserviceprovider = new Model_ServiceProviders();
$serviceprovider = $mdlserviceprovider ->getName($sp);
$rtn_array= array('serviceprovider ' => $serviceprovider);
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
echo Zend_Json::encode($rtn_array);
}
模型
public function getName($id)
{
$select = $this->select();
$select->where('service_provider_id = ?', $id);
var_dump($mdlserviceprovider);
return $result['service_provider_name'];
}
PHTML
$('#add1').click(function(){
$.ajax({
url:'<?php echo $this->baseUrl()?>/ajax/postserviceprovider',
type:'post',
dataType: "json",
data:{ 'serviceprovider':$('#service_provider_name').val()},
success:function(data){
var row = '<tr><td>' + data["serviceprovider"] + '</td></tr>';
$('#t1').append(row);
//alert();
}
});
});
HTML表格
<div class="col-md-6" style="margin-left: 0;">
<table class='spreadsheet dataTable' cellpadding='0' cellspacing='' id="t1">
<thead>
<tr role="row">
<th>ENTER SERVICE PROVIDER USED</th>
</tr>
<td><?php echo $this->form2->search;?></td>
</thead>
</table>
<input id='add1' align="right" type="button" name='Add' value="+Add"></input>
</div>
提前致谢
答案 0 :(得分:1)
尝试
$sp = $this->getRequest()->getParam('serviceprovider');
可选择使用ajax:
data: 'serviceprovider=' + $("#service_provider_name").val(),
答案 1 :(得分:0)
首先,如果代码不能重写为(或类似):
if ( $form->isValid($_POST) )
{
$values = $form->getValues();
$sp = (!empty(values['serviceprovider']) ? values['serviceprovider'] : '';
if (!empty($sp)) {
$mdlserviceprovider = new Model_ServiceProviders();
$serviceprovider = $mdlserviceprovider ->getName($sp);
$rtn_array= array('serviceprovider ' => $serviceprovider);
}
}
如果表单无效,尝试使用POST超级全局检索表单中的值似乎很奇怪。热衷于获得您的反馈。