[英]Ajax Post Call Not Working for On KeyUp
我一直在设法解决这个问题,但是没有运气。 我正在做ajax发布以获取课程列表。 有两种获取列表的方法。 用户可以单击搜索按钮或按Enter。 单击搜索按钮可以正常工作并返回课程列表。 但是,按Enter键不起作用。 它总是返回错误“ jqXHR.status = 0-未连接”。
这是两个都都调用PerformSearch()的事件。
此keyup事件不起作用。
$('#searchFor').on('keyup', function (event) {
event.preventDefault();
if (event.which === 13) {
// $('#SearchCourses').click();
PerformSearch();
}
})
点击事件可以正常工作。
$('#SearchCourses').on('click', function (event) {
event.preventDefault();
PerformSearch();
})
var PerformSearch = function () {
var searchValue = $('#SearchCourses').val();
var searchType = $('#searchFor').val();
var courseObj = {};
var Course = {};
Course.searchValue = searchValue;
Course.searchType = searchType;
courseObj.data = JSON.stringify({ "courseObj": Course });
courseObj.contentType = 'application/json';
courseObj.method = 'post';
courseObj.url = '/Home/GetCourses';
courseObj.dataType = 'html';
PostAPI(courseObj, DisplayCourses); //This is just doing the post nothing interested in the PostAPI.
};
var DisplayCourses = function (result) {
if (!result.Error) {
$('#CourseList').html(result.data);
}
}
//返回课程列表的服务器端代码。
public ActionResult GetCourses(Course courseObj)
{
.
.
.
return PartialView("Courses", courses);
}
该事件将提交整个页面,而不仅仅是课程对象。
试试吧:
$('#searchFor').bind('keypress', function (e) {
var code = e.keyCode || e.which;
if (code == 13) { //Enter keycode
//Do something
PerformSearch();
}
});
您需要停止提交表单
if (event.which === 13) {
event.preventDefault();
PerformSearch();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.