如何在本地机器上的jquery中使用getJSON调用Controller动作 [英] how to call Controller action using getJSON in jquery on local machine

查看:98
本文介绍了如何在本地机器上的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆