Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 IE或Edge的AJAX帖子中没有数据,只有标题_Javascript_Jquery_C_Ajax_Internet Explorer - Fatal编程技术网

Javascript IE或Edge的AJAX帖子中没有数据,只有标题

Javascript IE或Edge的AJAX帖子中没有数据,只有标题,javascript,jquery,c,ajax,internet-explorer,Javascript,Jquery,C,Ajax,Internet Explorer,所以在我的场景中,我使用AJAX将数据发送到服务器。以下是我的AJAX代码: $.post('change_password',"username"+username+"password"+$('#Confirm_password').val()+";",function(data,status){ alert("Data: " + data + "\nStatus: " + status); if(status=="success"){ if(data=="set_suc

所以在我的场景中,我使用AJAX将数据发送到服务器。以下是我的AJAX代码:

$.post('change_password',"username"+username+"password"+$('#Confirm_password').val()+";",function(data,status){
  alert("Data: " + data + "\nStatus: " + status);
  if(status=="success"){
       if(data=="set_success"){ 
            alert("Password Change Success");
       }                        
  }
});
我读了很多文章,他们说IE用2个tcp包(1个头和1个数据内容)发送帖子。因此,在我的服务器端,如果我只做1接收,我只能得到标题,而不能得到我真正需要的数据内容。我尝试了一些解决方案,比如添加meta标签,比如

<meta charset="utf-8">
这是一个轻量级tcp/ip的LWIP库。它通过netconn_recv接收传入请求。但是如果我使用IE浏览器,它只能得到文章的标题。我尝试再次接收传入的请求。它有时确实会接收“仅数据内容(无头)”,但有时会收到错误的数据包(如其他请求)。我只是想知道是否有一种方法可以在2个tcp数据包中接收帖子

/* for browser like IE. Recieve the netbuf again to get content */
              /*
if(strcmp(http_body,"") == 0){

    if((err = netconn_recv(conn, &inbuf)) == ERR_OK) {
        netbuf_first(inbuf);
        do{
            netbuf_data(inbuf, (void**)&http_body, &buflen);
        }while(netbuf_next(inbuf) >= 0);
    }
    netconn_write(conn,&http_body[0], strlen(http_body), NETCONN_COPY);

}
else{
    netconn_write(conn,&http_body[0], strlen(http_body), NETCONN_COPY);
}
   */

一个足够大的负载不会导致来自任何浏览器的多个TCP数据包吗?如果您的服务器端代码在数据包级别处理数据,我认为您总是需要等到收到所有数据包后,才能收到客户端代码发出的完整请求。我知道您的意思。但当“netconn_recv”时,“netconn_buf”包含“pbuf”中的所有接收数据。我通过做do-while循环来提取数据。我得到的只是文章的标题。这是C代码吗?也许你应该在你的问题中添加一个“c”标记,而不是“javascript”和“jquery”……是的,但我只是想找到一个解决这个问题的方法。要么让IE发送标题和数据完整的帖子,要么尝试处理服务器端的接收。
if((err = netconn_recv(conn, &inbuf)) == ERR_OK) {

      netbuf_first(inbuf);

      do{

          netbuf_data(inbuf, (void**)&buf, &buflen);
          strcat(recieve_buffer, buf);
          }while(netbuf_next(inbuf) >= 0);
}
/* for browser like IE. Recieve the netbuf again to get content */
              /*
if(strcmp(http_body,"") == 0){

    if((err = netconn_recv(conn, &inbuf)) == ERR_OK) {
        netbuf_first(inbuf);
        do{
            netbuf_data(inbuf, (void**)&http_body, &buflen);
        }while(netbuf_next(inbuf) >= 0);
    }
    netconn_write(conn,&http_body[0], strlen(http_body), NETCONN_COPY);

}
else{
    netconn_write(conn,&http_body[0], strlen(http_body), NETCONN_COPY);
}
   */