• 【JavaScript】EasyUIのForm的跨域提交问题解析


    昨日、プログラムを作るとき、一つの問題がありますが、皆に共有します。

    【問題】

    EasyUIのFormでURLを請求するとき、返却の値が取得できない。

    【ソース】

    var fnRegUser = function (thisPage) {
        var frm = thisPage.find('#id_regfrm');
        var url = CommonJs.cxtPath() + '/user/regedit.do';
        if (frm.form('validate')) {      
            frm.form({
                url : url,
                onSubmit : function () {
                },
                success : function (data) {
                    console.info('data', data);
                    var obj = {
                        'key1' : 'valA',
                        'key2' : 'valB',
                        'key3' : 'valC'
                    };
                    sessionStorage.setItem("keyobj", JSON.stringify(obj));
                }
            });
            frm.submit();        
        } else {
            $.messager.show({
                title : "ERROR",
                msg : "ERRRRRRRRRRRRR",
                timeout : 1000,
                showType : "slide"
            });
        }
    View Code

    【原因】

    請求のURLは通常URL「/user/regedit.do」ではなく、「http://localhost:8080/SSM/user/regedit.do」となります。

    ①通常URL「/user/regedit.do」を請求するとき、本システムの中身に請求する

    ②全パス「http://localhost:8080/SSM/user/regedit.do」を請求するとき、新システムらしいの中身に請求する。

    【分析】

    EasyUIのFormのSubmit請求は通常URLを利用するだけで、返却値が取得できるが、Ajaxに対して、請求URLと関係ない、返却値を取得できる。

    ただ、EasyUIのFormのLoad請求に対して、通常URLでも全パスでも、返却値を取得できます。

    【結論】

    システム間を通信するため、全パスの請求を利用するが、本システムの中身を通信するため、通常URLの請求を利用したほうがいい。

  • 相关阅读:
    EXCEL的下拉列表
    lambda表达式各种用法
    数组 list互转
    基于SpringBoot注解实现策略模式
    VRRP
    添加索引
    linux压缩解压命令
    vmware不可恢复错误:mks
    mysql修改重置密码
    mysql_5.7yum安装
  • 原文地址:https://www.cnblogs.com/lnsylt/p/10354425.html
Copyright © 2020-2023  润新知