如何在本地机器上的jquery中使用getJSON调用Controller动作 [英] how to call Controller action using getJSON in jquery on local machine
本文介绍了如何在本地机器上的jquery中使用getJSON调用Controller动作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
function runFunctionIfAvailable(callback, params) {
try {
if (typeof callback !== 'undefined') {
if ($.isFunction(callback)) {
if (params !== null) {
return callback(params);
} else {
return callback();
}
} else if (typeof callback === 'string') {
var f = new Function(callback);
if (params !== null) {
return f.call(params, params);
} else {
return f();
}
}
}
} catch (e) {
return false;
}
};
login.SubmitJsonpForm = function (form, onSuccessCallback, onBeginCallback, onErrorCallback, onCompleteCallback) {
var result = runFunctionIfAvailable(onBeginCallback);
if (result !== false) {
var url = form.attr("action");
if (url.indexOf('?') === -1) {
url = url + "?jsoncallback=?";
} else {
url = url + "&jsoncallback=?";
}
var formItems = form.serializeArray();
var added = [];
$.each(formItems, function () {
if ($.inArray(this.name, added) === -1) {
added.push(this.name);
$.cookie("__jsonpform_" + this.name, this.value, { secure: true, path: '/' });
}
});
try {
$.getJSON(
url,
function (data) {
runFunctionIfAvailable(onSuccessCallback, data);
})
.error(function () {
runFunctionIfAvailable(onErrorCallback, null);
})
.complete(function () {
/* This is extra protection. Response automatically removes jsonp request cookies. */
clearCookies(added);
runFunctionIfAvailable(onCompleteCallback, null);
});
} catch (e) {
if (added) {
/* This is extra protection. Response automatically removes jsonp request cookies. */
clearCookies(added);
runFunctionIfAvailable(onErrorCallback, null);
}
}
} else {
runFunctionIfAvailable(onCompleteCallback, null);
}
};
我获取以下网址:< br $>
I am Getting the Following URL:
http://localhost/home/login?jsoncallback=?
它在服务器托管之后运行良好,但在本地系统中,该操作未触发。功能不起作用
请告诉我问题以及如何在本地运行它。
Its working well in after hosting in server but in local system the action was not firing . the functionality is not working
please tell me the problem and how to run it on local.
推荐答案
.isFunction(callback)){
if (params!== null ){
return callback(params);
} else {
return callback();
}
} 其他 如果( typeof 回调=== ' string'){
var f = new 功能(回调);
if (params!== null ){
return f.call(params,params);
} 其他 {
return f();
}
}
}
} catch (e){
返回 false ;
}
};
login.SubmitJsonpForm = function (form,onSuccessCallback,onBeginCallback,onErrorCallback,onCompleteCallback){
var result = runFunctionIfAvailable(onBeginCallback);
if (结果!== false ){
var url = form.attr( action);
if (url.indexOf(' ?')=== -1){
url = url + ?jsoncallback =跨度>;
} else {
url = url + &安培; jsoncallback =?跨度>;
}
var formItems = form.serializeArray();
var added = [];
.isFunction(callback)) { if (params !== null) { return callback(params); } else { return callback(); } } else if (typeof callback === 'string') { var f = new Function(callback); if (params !== null) { return f.call(params, params); } else { return f(); } } } } catch (e) { return false; } }; login.SubmitJsonpForm = function (form, onSuccessCallback, onBeginCallback, onErrorCallback, onCompleteCallback) { var result = runFunctionIfAvailable(onBeginCallback); if (result !== false) { var url = form.attr("action"); if (url.indexOf('?') === -1) { url = url + "?jsoncallback=?"; } else { url = url + "&jsoncallback=?"; } var formItems = form.serializeArray(); var added = [];
.each(formItems,函数(){
if (
.each(formItems, function () { if (
.inArray(此 .name,已添加)=== -1){
added.push( this .name);
.inArray(this.name, added) === -1) { added.push(this.name);
这篇关于如何在本地机器上的jquery中使用getJSON调用Controller动作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文