js调用iframe中的方法的一些问题

$('#FlowFormFrame')[0].contentWindow.saveFlowForm('1')

上面是我调用本页面中的一个iframe中的方法,但是总是接收不到方法的返回值,iframe中的方法如下

 

   function saveFlowForm(state) {           
            $("#state").val(state);           
            $.ajax({
                url: "<%=base.sysPath%>Interface/Supplies/AddReceive.aspx?t=" + (new Date()).valueOf(),
                    dataType: 'json',
                    type: 'POST',
                    async: false,
                    data: $('#form1').serialize(),
                    success: function (data) {
                        if (data) {
                            if (data.code == 0) {
                                return true;
                            }
                            else {
                                layer.msg(data.msg, { icon: 5 })
                                return  false;
                            }
                        } else {
                            layer.msg("服务器出现异常,请稍后再试!", { icon: 5 })
                            return  false;
                        }
                    }
            });

        }

调试发现只是接收不到ajax中的返回值,ajax改为同步也不行,需要将返回值赋值到一个变量中,在ajax结束后返回,就可以正常接收了,改动后如下

   function saveFlowForm(state) {
       
            var result;           
            $("#state").val(state);

            $.ajax({
                url: "<%=base.sysPath%>Interface/Supplies/AddReceive.aspx?t=" + (new Date()).valueOf(),
                    dataType: 'json',
                    type: 'POST',
                    async: false,
                    data: $('#form1').serialize(),
                    success: function (data) {
                        if (data) {
                            if (data.code == 0) {
                                result= true;
                            }
                            else {
                                layer.msg(data.msg, { icon: 5 })
                                result = false;
                            }
                        } else {
                            layer.msg("服务器出现异常,请稍后再试!", { icon: 5 })
                            result = false;
                        }
                    }
            });

            return result;

        }

 

你可能感兴趣的:(JS,web)