zoukankan      html  css  js  c++  java
  • 【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の請求を利用したほうがいい。

  • 相关阅读:
    VC++6.0程序打开文件内存错误解决方法
    c++ vc6.0环境sp6补丁
    Net 应用程序如何在32位操作系统下申请超过2G的内存
    DataTable 排序
    VC UI 界面库
    让CSS兼容IE和Firefox的技巧集合
    两句CSS属性让点击图片链接时的虚线框消失
    一个常用的表单文本框input输入提示
    Css优先级分析
    清除浮动四种方法
  • 原文地址:https://www.cnblogs.com/lnsylt/p/10354425.html
Copyright © 2011-2022 走看看