Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未检索到由FIN/JSON数据终止的tcp握手_Javascript_Json_Jquery_Tcp - Fatal编程技术网

Javascript 未检索到由FIN/JSON数据终止的tcp握手

Javascript 未检索到由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

嗨 我有一个用java脚本保存的网站html,该网站上传到apache tomcat,该网站假设联系另一个服务器并检索json数据,但没有发生这种情况。数据包跟踪显示tcp握手被FIN状态终止。在FIN状态出现校验和错误之前,数据包发送,我不知道如何解决这个问题?您是否认为校验和不正确导致终止握手?那怎么避免呢?下面是我的ajax jquery代码 注意:apache服务器和其他服务器都在同一个域中。 提前感谢 LS

$(文档).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
    无法访问
    http://stackoverflow.com:8080
    在Firefox、Chrome、Safari或Opera中也是如此

您必须执行以下操作之一:

  • 在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")
                           }                    
                          })   

                          })
})