java - $.post()没有实现跳转页面,到底是我前端的问题还是后端的问题?求教育

 一个关于摄影的家伙 发布于 2022-11-02 01:57

需求描述

  1. 点击form表单1中的提交按钮按钮bt1,通过ajax验证是否登录。

  2. ajax返回已经登录,提交form表单1中的数据到后台,后台进行处理,并返回渲染页面.

  3. ajax返回未登录,用$formData=$targetForm.serialize()存储form表单1的表单数据,然后弹出bootstrap modalmodal是一个登录窗口。

  4. 用户输入登录表单内容,这里我用了formValidation插件进行验证(因为实现国际化,这个插件在这方面做得很好)。

  5. formValidation验证通过后,提交登录form表单,通过ajax验证登录是否成功

  6. ajax返回登录成功,用$.post()发送form表单1的数据到后端(我在chromenetwork确定已经成功发送到正确的地址

一切都好像好顺利啊,然而,然而....

后台没有返回渲染页面啊!

后台没有返回渲染页面啊!

后台没有返回渲染页面啊!

(重要的话要说三遍)

省略掉一些不重要掉事情(可能也是最重要的细节):用/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security这个方法解决了 ajax跨域问题

6 个回答
  • 正常的登陆逻辑来说,应该是验证成功后,后端重定向到登陆成功的页面,或者失败的页面,这个你应该问问后端的,看看他们是怎么处理的,另外你可以在$.post()中的success与error回调中获取一下返回给你的数据

    2022-11-03 19:48 回答
  • 1)你先check下ajax给你返回了什么~~~
    2)返回渲染页面 是指给你一个重定向的url还是一个HTML内容,需要你append到当前页面上?
    3 )你从浏览器本身的角度来解决跨域问题,是用了nw.js/electron类似的框架吗?

    2022-11-03 19:53 回答
  • http://stackoverflow.com/questions/133925/javascript-post-request-like-a-form-submit


    var $form = $('<form method="POST" action="' + urlAction + '">');
    $.each(data, function (k, v) {
        $form.append('<input type="hidden" name="' + k + '" value="' + v + '">');
    });
    $form.submit();
    2022-11-03 20:13 回答
  • 用ajax回调来确认是否已登陆再对应上传或登录弹框,这个过程存在登陆状态被篡改的风险

    2022-11-03 20:22 回答
  • 第二步有问题,已经登陆之后如果需要返回渲染页面的话最好做js跳转。如果用ajax其实也可以,只不过需要前端把接受到的渲染之后的页面代码动态加载显示,比较复杂。

    2022-11-03 20:24 回答
  • 完全不明所以, 问的是 post 不能跳转页面, 而最后又说跨域问题?
    首先 post 是不可能跳转页面的, 而且 post 也不能够实现跨域 ajax 的.
    若想跳转页面可通过 window.location.href='http://example.com'
    这种方式实现

    2022-11-03 20:39 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有