Javascript 未检索到由FIN/JSON数据终止的tcp握手
嗨 我有一个用java脚本保存的网站html,该网站上传到apache tomcat,该网站假设联系另一个服务器并检索json数据,但没有发生这种情况。数据包跟踪显示tcp握手被FIN状态终止。在FIN状态出现校验和错误之前,数据包发送,我不知道如何解决这个问题?您是否认为校验和不正确导致终止握手?那怎么避免呢?下面是我的ajax jquery代码 注意:apache服务器和其他服务器都在同一个域中。 提前感谢 LSJavascript 未检索到由FIN/JSON数据终止的tcp握手,javascript,json,jquery,tcp,Javascript,Json,Jquery,Tcp,嗨 我有一个用java脚本保存的网站html,该网站上传到apache tomcat,该网站假设联系另一个服务器并检索json数据,但没有发生这种情况。数据包跟踪显示tcp握手被FIN状态终止。在FIN状态出现校验和错误之前,数据包发送,我不知道如何解决这个问题?您是否认为校验和不正确导致终止握手?那怎么避免呢?下面是我的ajax jquery代码 注意:apache服务器和其他服务器都在同一个域中。 提前感谢 LS $(文档).ready(函数(){ var home_add=http://m
$(文档).ready(函数(){
var home_add=http://myhome.net:3300/gateway';
$(“#握手”)。单击(函数(){
警报(“发送json数据”);
$.ajax({/*启动ajax函数以发送数据*/
网址:home_add,
类型:'POST',
数据类型:'json',
contanttype:'text/json',
async:false,
错误:函数(){alert(“握手未通过”)},/*调用断开连接函数*/
数据:{
“supportedConnectionTypes”:“长轮询”,
“频道”:“/元/握手”,
“版本”:“1:0”
},
成功:功能(数据){
$(“p”)。追加(数据+”
);
警惕(“成功握手”)
}
})
})
})
你似乎误解了。XMLHttpRequest使用的同源策略(jQuery AJAX功能的基础)是:
- 两个主机名必须完全相同(不仅仅是更高级别域的一部分)。
示例:来自
的网页可以访问相同的域,但不能访问careers.stackoverflow.com
、beta.careers.stackoverflow.com
或stackoverflow.com
foo.stackoverflow.com
- 这两个协议必须完全相同(http/https)。
示例:来自
无法访问http://stackoverflow.com
,反之亦然https://stackoverflow.com
- 两个端口号必须完全相同(Internet Explorer中除外)。
示例:来自
无法访问http://stackoverflow.com
在Firefox、Chrome、Safari或Opera中也是如此http://stackoverflow.com:8080
- 在AJAX响应中使用HTTP头,明显的缺点是排除IE等浏览器和其他不支持HTTP头的旧版本
- 使用,但不用于同步请求(无论如何都应该避免,因为它们会挂起浏览器)
- 代理HTTP请求从您的网页所在的服务器发送到另一台服务器
contanttype
拼写错误,但如果包含,则与响应的内容类型无关:您好,谢谢您的回复,但如果这是问题所在,您是否认为它早在tcp握手设置时就被检测到,这基本上是被动地打开一个端口进行连接,然后在客户端和服务器之间发送SYN和ACK,但在我的例子中,握手将在这里以FIN状态终止。非常感谢您的反馈:)
$(document).ready( function() {
var home_add='http://myhome.net:3300/gateway';
$('#handshake').click(function(){
alert(" sending json data");
$.ajax({ /* start ajax function to send data */
url:home_add,
type:'POST',
datatype:'json',
contanttype:'text/json',
async: false,
error:function(){ alert("handshake didn't go through")}, /* call disconnect function */
data:{
"supportedConnectionTypes": "long-polling",
"channel": "/meta/handshake",
"version": "1:0"
},
success:function(data){
$("p").append(data+"<br/>");
alert("sucessful handshake")
}
})
})
})