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の請求を利用したほうがいい。

  • 相关阅读:
    08-12 NOIP模拟测试18
    08-09 NOIP模拟测试15
    08-11 NOIP模拟测试17
    08-10 NOIP模拟测试16
    08-07 NOIP模拟测试14
    08-03 NOIP模拟测试12
    [SDOI2011]拦截导弹
    08-01 NOIP模拟测试11
    零散知识点
    07-29 NOIP模拟测试10
  • 原文地址:https://www.cnblogs.com/lnsylt/p/10354425.html
Copyright © 2011-2022 走看看