2 cymiqi cymiqi 于 2016.03.29 08:58 提问

ajax中有关xmlhttp.open("POST",URL,true);的问题
createxmlhttprequest();
var url="strategy_list.action";
    xmlhttp.open("POST",URL,true);

执行后发现,不会跳到url指向的地方

3个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.29 09:13

浏览器有没有报错呢,正常来说ajax不会跳转的啊,只会把请求路径的响应结果返回给你来处理的,你需要判断响应状态进行处理。
例如:

 var URL="http://www.baidu.com/;
  xmlhttp.open("GET",URL, false);
  //xmlhttp.SetRequestHeader("Content-Type","text/html; charset=Shift_JIS")
  xmlhttp.send(null);
  var result = xmlhttp.status;

  //OK
  if(result==200)
  {
  document.getElementById("div_RightBarBody").innerHTML=xmlhttp.responseText;
  }
  xmlhttp = null;
 }

cymiqi
cymiqi 回复是星星总会发光: 运行不会停止,我把返回结果alert,结果
2 年多之前 回复
li953348869
li953348869 回复cymiqi: debug看看,试试在哪里停止的,代码贴。
2 年多之前 回复
cymiqi
cymiqi 而且我把url改成“hhh.action",实际上struts配置里并没有hhh的action,返回结果和之前一样
2 年多之前 回复
cymiqi
cymiqi 浏览器运行到这里没报错,返回的结果不是我要的,strategy_list.action指向的文件有个输出,但是控制台没有显示
2 年多之前 回复
cymiqi
cymiqi   2016.03.29 10:46

图片说明
这是alert的返回结果

showbo
showbo   Ds   Rxr 2016.03.29 16:12

ajax原本就是无刷新的,你要跳转到哪去需要用location.href进行跳转。并且ajax不会理会服务器端3xx那种转向头的控制浏览器跳转,ajax只会继续获取跳转后内容

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
xmlHttp.open的第三个参数true与false
最近的项目中有个问题,用ajax调用后台取值,然后传回前台的时候,传递的值就没了 后台调试是没有问题,最后发现问题出在xmlHttp.open()的第三个参数上 xmlHttp.open("post",url,true) 第三个参数为true,表示JavaScript异步执行,不等待后台返回 而为false的时候,表示同步执行,等待返回后再执行下一步 所以,这里如果选择t
ajax xmlhttp下open方法POST、GET参数的区别
1. get是从服务器上获取数据(会暴露客户端ip),post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 3. 对于get方式,服务器端用
tmp WEB 2.0中AJAX应用的详细探讨;xmlHttp.open("GET", url, true);
xmlHttp.open("GET", url, true);这里面有第三个参数,一个布尔值, 你的肯定是  Http.open("GET", url, false);  把false换成true就行了,等到Http有返回结果了再读取数据!  false就是等待又返回数据的时候在继续往下走,还没有得到数据的时候就会等到就会卡在那里,true就是不等待,这就是所谓的异步获取数据! 本
关于XMLHttpRequest.open()设置提交方式 (POST,GET)
众所周知XMLHttpRequest的open()方法里的第一个参数是用来设置向服务器提交的方式,这是绝对的吗?不一定哦,看看下面的代码。 代码片断如下:  function simpleStrSubmit()  {  var xmlReqFile = createXMLReqFile();  xmlHttp.open("GET","ProcessServlet",true);//指定G
AJAX中get和post请求详解
一、get()和post()基本区别 1.get 是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 2.对于get方式,服务器端用Request.QueryString获取变量的
Ajax 中的xmlHttpRequest.open对url的处理
xmlHttpRequest.open("GET", url, true);中的url的要求:当当前页面的url 为http://localhost:8080/SpringControllerResponses/requestResponse/onlyJsp时,如果open 函数中的url 为采用相对url是”onlyBoolean” 则Ajax 所发生的完整的url 为:http
AJAX - 向服务器发送请求请求
AJAX - 向服务器发送请求请求 XMLHttpRequest 对象用于和服务器交换数据。 向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send();
javascript XMLHttpRequest 对象的open() 方法参数说明
下文是从w3c上摘录下来的,其中参数 method 说明的很简短,不是很理解,所以又找了些资料作为补充。文中带括号部分。  XMLHttpRequest.open() 初始化 HTTP 请求参数 语法open(method, url, async, username, password) method 参数是用于请求的 HTTP 方法。值包括 GET、POS
xmlHttp.open报错的解决
今天开始测试写好的Ajax端口,以适应两台服务器之间的通信测试方法如下:有ABC三台电脑,其中B是放置Ajax应用的服务器,C是放置数据的服务器,它上面有一个接受Ajax请求的应用A是客户端。现在在A上访问B的应用,用Ajax发起http请求到C。但是在JS里面报错了,把错误信息用alert(e.message)打出来,看到是“拒绝访问”。于是大惊,开始怀疑是人品问题,但是发现
用AJAX刷新一个DIV中的jsp内容
var xmlhttp;  function startrefresh(){  xmlhttp=new XMLHttpRequest();  xmlhttp.open("POST,"ss.jsp",true);  xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");