J'essaie d'envoyer un appel en utilisant ajax mais dans Chrome, l'erreur est en hausse mais, dans Firefox, il n'y a pas d'erreur. Mais il ne peut toujours pas appeler la méthode. J'ai essayé d'enregistrer mon appel dans firebug mais il n'y a pas de demande d'appel dans firebug. C'est donc la raison pour laquelle il n'y a pas d'erreur dans firefox.
Index.chshtml le code est en dessous
function onLoad(e) {
var grid = $(this).data("tGrid");
//bind to the context menu of the Grid's header
event.preventDefault();
$(this).find(".t-grid-header").bind('contextmenu', function (e) {
//wait for the menu to be generated
setTimeout(function () {
// bind to the checkboxes change event. The context menu has ID in the format "GridName" + "_contextmenu"
$('#globalsearchgrid_contextMenu :checkbox').change(function () {
debugger;
var $checkbox = $(this);
// the checked state will determine if the column has been shown or hidden
var checked = $(this).is(":checked");
// get the index and the corresponding column from the Grid's column collection
var columnIndex = $(this).data("field");
var request = "{'columnIndex':'" + columnIndex + "'value':'" + checked + "'}";
$.ajax({
type: "POST",
url: "../../GlobalSearch/SaveColumnInfo",
data: request,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) { },
error: function (xhr, status, error) {
alert(error.responseTextss);
}
});
});
});
});
}
Méthode du contrôleur
public JsonResult SaveColumnInfo(string columnIndex, string value)
{
CookieHelper helper=new CookieHelper();
helper.UpdateCookie(int.Parse(columnIndex), value.ToString());
return Json("Success");
}
Erreur en chrome
POST http://localhost:3577/GlobalSearch/SaveColumnInfo 500 (Internal Server Error)
jQuery.ajaxTransport.send
jQuery.extend.ajax
(anonymous function)
jQuery.event.handle
jQuery.event.add.elemData.handle.eventHandle
Le code 500 devrait normalement indiquer une erreur sur le serveur, pas quoi que ce soit avec votre code. Quelques idées