我正在使用cakephp网络应用程序,我在Ajax function
中创建了一个小default ctp file
。现在设置文件我想将值数据发送到另一个控制器函数,在chrome browser network
中显示Ajax发布到欲望url但在控制器后期值中没有显示当我尝试回显$_post ['selectedlocation']
时??
Ajax默认文件
var DisplayLocationName = $('#ListingLocation option:selected').val();
$.ajax({
type: "POST",
url: '/listings/home',
data: {selectedlocation:DisplayLocationName },
dataType:"text",
success: function(result) {
}
});
列出控制器功能
function home()
{
if(!isset($this->params['requested']) || $this->params['requested'] != true)
{
$this->actionId = 'home';
}
$this->viewFile = null;
if($this->params['isAjax'] && isset($_POST['selectedlocation']))
{
echo "erreerreer";
echo $selectloc= $_POST['selectedlocation'];
$this->set('selectloc',$selectloc);
}
}
如何在默认情况下显示Ajax post值以进行测试,确保Ajax向控制器发布正确的值
答案 0 :(得分:0)
您需要使用日志文件来读取帖子数据。这会将数据写入错误日志,您可以在那里查看。
@ViewBag.UserName = string.Empty
<table>
<tr>
<th>
Username
</th>
</tr>
@foreach (var x in Model.Evaluation.OrderBy(x => x.User.UserName)
{
<tr>
<td>
@(ViewBag.UserName == x.User.UserName ? null : Html.DisplayFor(modelItem => x.User.UserName))
@(ViewBag.UserName = x.User.UserName)
</td>
<td>
@Html.DisplayFor(modelItem => x.Component.NameComp)
</td>
<td>
@Html.DisplayFor(modelItem => x.Grade)
</td>
<td></td>
</tr>
}
</table>
答案 1 :(得分:-1)
如果要从ajax请求中获取$ _POST数据,则应使用:
$form_data = $this->request->data; (cakephp 2.x)
$form_data = $this->params['form'] (cakephp 1.3)
现在你有了一个带有$ _POSTed数据的数组,如果你愿意,可以尝试使用var_dump()来理解它的结构。