我正在使用以下代码初始化我的标签
$('#tabs').tabs({
fx: {
opacity: 'toggle',
duration: 'fast'
},
select: function () {
$(this).tabs("option", {
ajaxOptions: { data: vehicleJson }
});
},
ajaxOptions: {
type: 'post',
success: function(){
alert('onSuccess');
},
error: function(){
alert('onFail');
}
},
spinner: ''
}
在我的控制器中我有:
[HttpPost]
public PartialViewResult Intervals(string vehicleJson)
{
return PartialView("_Intervals");
}
如果我删除了[HttpPost] attrib,它似乎工作正常,除非它不是我需要的“帖子”。基本上我正在尝试将json对象传递给帖子。我究竟做错了什么?这是我的标签的初始HTML
<ul id="ul-tabs">
<li><a href="/maintenance/Tabs/Intervals" title="Intervals">Intervals</a></li>
<li><a href="/maintenance/Tabs/Lifetime" title="Lifetime Services">Lifetime Services</a></li>
<li><a href="/maintenance/Tabs/Locator" title="Locator">Locator</a></li>
<li><a href="/maintenance/Tabs/Procedures" title="Procedures">Procedures</a></li>
<li><a href="/maintenance/Tabs/Specifications" title="Specifications">Specifications</a></li>
<li><a href="/maintenance/Tabs/Reset" title="Reset">Reset</a></li>
</ul>
如何正确强制链接发帖而不是获取?我想在服务器端使用javascript数据。
感谢您的提示或建议,
干杯,
〜在圣地亚哥
答案 0 :(得分:5)
您正在覆盖标签选择上的ajaxOptions
。
这一行:
$(this).tabs("option", { ajaxOptions: {data: vehicleJson}});
将覆盖您之前设置的选项并导致选项卡使用jQuery ajax默认值(type =“GET”)。
您可以像这样解决问题:
var tabAjaxOpts = {
type:'post',
success:function(){alert('onSuccess');},
error:function(){alert('onFail');}
};
$('#tabs').tabs({
fx: {
opacity: 'toggle',
duration: 'fast'
},
select: function () {
tabAjaxOpts.data = vehicleJson;
$(this).tabs("option", { ajaxOptions: tabAjaxOpts});
},
ajaxOptions: tabAjaxOpts
};