问题:
.done()&success:,.fail()&error:和.always()&之间有区别complete:吗?序言:
我正在整理一个jQuery.ajax调用,这也是我过去成功完成的.像这样的东西:
$.ajax(
{
url: someUrl,
type: 'POST',
data: someData,
datatype: 'json',
success: function (data) { someSuccessFunction(data); },
error: function (jqXHR, textStatus, errorThrown) { someErrorFunction(); }
});
Run Code Online (Sandbox Code Playgroud)
在快速浏览一些文档的同时,我遇到了一个引用声明,从jQuery 1.8开始,不推荐使用成功,错误和完整回调.要准备最终删除的代码,请使用jqXHR.done(),jqXHR.fail()和jqXHR.always().
因此,我们应该开始编写类似这样的代码:
$.ajax( "example.php" )
.done(function (data) { someSuccessFunction(data); })
.fail(function (jqXHR, textStatus, errorThrown) { someErrorFunction(); })
.always(function() { alert("complete"); });
Run Code Online (Sandbox Code Playgroud) 我准备把剩下的头发拉出来,所以如果你知道问题可能会帮助我...谢谢.我所有的谷歌搜索和搜索都没有得到回报.
首先,我使用的是jquery-1.7.2.min.js和ASP.net 2.0 Web表单.
我正在尝试使用jquery进行ajax调用,但不断收到语法错误/解析错误消息.我尝试了很多不同的方法但是当我将dataType设置为json时它们都会导致错误.
这就是我所拥有的:
$.ajax({
type: "POST",
url: "UserList.aspx/GetTestJson",
data: {}, //have also tried "{}" and other options such as removing the line
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(data, textStatus, jqXHR){
alert('success');
},
//Using below instead of above makes no difference either
//success: function(data){
// alert('success');
//},
error: function(jqXHR, textStatus, errorThrown){
alert('errorThrown: ' + errorThrown);
}
});
Run Code Online (Sandbox Code Playgroud)
和aspx页面方法:
[WebMethod]
public static string GetTestJson()
{
return "Hello My World";
}
Run Code Online (Sandbox Code Playgroud)
我也试过设置一个Web服务,但得到了相同的结果.似乎回来的响应是页面的完整html或来自Web服务的xml,因为我将dataType设置为json,它在解析它时不成功.如果是这种情况,如何将响应设置为仅返回json?
这是我没有运气的其他事情:
[WebMethod]
public static string GetTestJson()
{ …Run Code Online (Sandbox Code Playgroud) 我正在使用datatables.net jquery插件并通过asp.net mvc4填充数据.
我的一个列是日期格式.我有兴趣更改它的显示格式,但不会将列的类型从日期更改为字符串.
I'm currently using default initialization:
$('#data-table').dataTable();
Run Code Online (Sandbox Code Playgroud)
My 4th column is a date "Created Date" and is currently displayed as "7/07/2013 9:38:11 p.m." I would like it to be displayed as either "7/07/2013" or "7 Jul 2013".
I thought this was a relatively easy task but haven't been able to find the answer I'm after.
I'd like to avoid additional plugins if possible. Is there a simple way that I'm missing?
我正在使用jshint,它给我错误“不必要的分号”。我不控制有问题的文件,我想忽略此错误。我在jshint doc页面上找不到任何这样的选项
我有4个共享的EditorTemplates:Tab,Group,Line&Item.
Tab.cshtml:
@model AWMCCRM.Web.ViewModels.Tab
@Html.HiddenFor(vm => vm.Name)
<div id="tab-@Model.Name.Replace(" ", string.Empty)" class="tab-content">
@Html.EditorFor(vm => vm.Groups)
</div>
Run Code Online (Sandbox Code Playgroud)
Group.cshtml:
@model AWMCCRM.Web.ViewModels.Group
@Html.HiddenFor(vm => vm.Name)
<fieldset>
<legend>@Model.Name</legend>
@Html.EditorFor(vm => vm.Lines)
</fieldset>
Run Code Online (Sandbox Code Playgroud)
Line.cshtml:
@model AWMCCRM.Web.ViewModels.Line
@Html.HiddenFor(vm => vm.Name)
@Html.EditorFor(vm => vm.Items)
Run Code Online (Sandbox Code Playgroud)
Item.cshtml:
@model AWMCCRM.Web.ViewModels.Item
<div class="@Model.DivClass">
<p class="@Model.PClass">
Html.LabelFor(vm => vm.ValueString, Model.Name);
Html.TextBoxFor(vm => vm.ValueString);
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
对应的ViewModels:
public class Tab
{
public string Name { get; set; }
public List<Group> Groups { get; set; }
}
public …Run Code Online (Sandbox Code Playgroud) 我想根据文本从下拉列表中检索值.
我知道我可以这样做:
$('#RegionsFilterDropdown option:contains("item")').val()
Run Code Online (Sandbox Code Playgroud)
但是,这不会返回完全匹配.例如,如果下拉列表中包含"项目1","项目2"等选项,那么上面的代码将返回多于1个结果,这不是我想要的.
有什么建议?
谢谢Rob
问题:在使用TableTools附加功能导出时,如何排除jQuery DataTables.net的最后一列?
细节
我正在用jQuery DataTables.net和TableTools附加组件初始化几个不同的表.它们都使用相同的初始化代码.
不同的表具有不同的列数.但是,所有表都有最后一列,这是一个带有按钮的"操作"列.使用TableTools导出时,它包含导出中此列的某些元素.我想排除所有表的TableTools导出的操作列.
我知道mColumns选项,但看起来您需要知道列数,这在我描述的场景中不起作用,所以请不要给我这样的答案:
"mColumns": [ 0, 1, 4 ]
Run Code Online (Sandbox Code Playgroud)
谢谢
jquery ×4
ajax ×2
datatables ×2
asp.net ×1
asp.net-mvc ×1
c# ×1
c#-2.0 ×1
javascript ×1
jshint ×1
razor ×1