java web开发,关于ajax提交验证通过后 window.open无法加载页面的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java web开发,关于ajax提交验证通过后 window.open无法加载页面的问题相关的知识,希望对你有一定的参考价值。

首先这是我定义的js函数ajax提交验证没问题,通过后进入回调函数

按照href的路径来到控制器:

可以看到我想定位到objectSelectForm那个界面

但是为什么window打开后,没有加载到那个页面,而是显示了我定义的请求呢?!!!!!!
求大家帮帮忙,弄了好久,我都快放弃治疗了。。。

参考技术A ajax的后台怎么这样写?
一般我们会写返回值为null,如果想传递数据最好以流的方式写到前台。
页面js这块,你是想打开新页面吗?
如果是想打开新页面那重定向也不能这样写,ajax使用是为了不刷新页面提交数据,这样就减少了与服务器交互的数据量,有利于提升用户体验,你要先搞清楚是不是有这个需求啊

Ajax异步传输

 Ajax异步传输

什么是异步传输

表单提交数据到服务器需要通过点击提交按钮来完成。当表单元素的数据量很多时,用户需要消耗大量的时间来填写表单数据,填写完后点击提交按钮,则表单的数据被发送到web服务器上的某个php文件进行处理,服务器处理完后再返回给客户端需要消耗一些时间。降低的客户端的工作效率。为了提高客户的工作效率,我们可以将表单的局部数据提交给服务器进行验证操作,方便客户及时修改。

           Ajax异步传输    ajax对象如何创建

function ajaxcheck(){

//接收数据

var tel = window.document.getElementById("stutel").value;

var show = window.document.getElementById("showresult");

if (window.XMLHttpRequest)

{

      // code for IE7+, Firefox, Chrome, Opera, Safari

      var ajax = new XMLHttpRequest();

}

else

{

      var ajax = new ActiveXObject("Microsoft.XMLHTTP");

    }

//向服务器发出请求

ajax.open("get","ajaxbm.jsp?tel="+tel);

//判断ajax状态是否发生变化,如果发生变化触发事件

ajax.onreadystatechange = function(){

if(ajax.readyState == 4 && ajax.status == 200){

//将服务器返回的数据输出到html标签中

show.innerHTML = ajax.responseText;

}

}

//确认发送

ajax.send();

}

事件驱动ajax对象,例如onclick=ajaxcheck(),onblur=ajaxcheck()


           Ajax异步传输    

ajax和服务器的交互

<?php

header("content-type:text/html;charset=utf-8");

error_reporting(0);

include 'include/dbPdoManager.php';

$tel = isset($_GET['tel']) ? trim($_GET['tel']) : "";

if($tel == ""){

    echo '手机号码不能为空';

}

else

{

    $sql = "select count(sigid) as 'c' from q_signup where sigtel='".$tel."'";

$result = $db->getOneData($sql);

    if($result['c'] == '1'){

    echo '该手机号已经被注册';  //这个文本数据会赋值给ajax.responseText属性

}

}

$db->closeConn();

            jqueryajax

ajaxget用法

$.get(服务器页面,{变量名:变量值,变量名:变量值,},function(data){

     对返回的data变量的值进行输出

});

ajaxpost用法

$.post(服务器页面,{变量名:变量值,变量名:变量值,},function(data){

     对返回的data变量的值进行输出

}); 

服务器段使用$_POST[]接收数据,密文数据,数据量大

               ajax的综合用法

$.ajax({

   type:post, //method类型

   url:js.php, //服务器页面

   data:stel=123456&scode=555, //index.php?stel=123456&scode=555 //数据传递

   success:function(html){} //回调函数

});

ajaxload用法

$(选择器).load(服务器页面,{数据传递},function(data){

     内容

})



☆ END ☆

以上是关于java web开发,关于ajax提交验证通过后 window.open无法加载页面的问题的主要内容,如果未能解决你的问题,请参考以下文章

jQuery在使用ajax验证后提交表单

thinkPHP3.2.3利用Ajax前台实现验证码验证,但通过form表单的按钮提交后,验证码一直错误!如何解决?

javascprit form表单提交前验证以及ajax返回json

Ajax异步传输

使用Ajax验证并提交Django表单(django-crispy-forms)

关于表单(输入)常用的验证