jquery ajax请求似乎在几个请求后挂起

时间:2013-11-09 13:09:15

标签: php jquery ajax

我的页面上有几个对象,我遍历并发出一个ajax请求来打开或关闭状态。它们由家庭自动化软件控制。

使用萤火虫我可以看到所有正在制作的回复。当我按下灯时,我会检查所有灯的状态,以防灯的状态发生变化。大约第三次点击后,我可以看到所有请求,但没有回复。

Jquery将url传递给PHP脚本,该脚本进行调用并将数据返回给jquery,这样可以解决跨域安全问题。

我可以打开另一个标签并将url post语句复制到地址中,页面会显示响应。

当我完成我的请求后,我没有关闭某些内容/为什么在第三次点击后发出请求但没有回复???

这是我的代码

function X10Check(){
                            //This Ajax checks the current on/off status of the passed X10 code
                            $('div.lightchk').each(function(i, obj) {

                            $x10Device = $(this).data("x10");
                            var element = $(this);
                            var data = "url=http://192.168.0.34:81/tenHsServer/tenHsServer.aspx?t=ab&f=DeviceStatus&d=" + $x10Device ;

                            $.ajax({                  
                            url:"urlencode.php",
                            data: data,
                            type: "POST",
                                success: function(data) 
                                { 
                                myd = $('<span />').html(data).find("#Result").text();
                                var Nmyd = myd.charAt(3);
                                if (Nmyd ==':')Nmyd = myd.charAt(4);

                                if (Nmyd == '2'){element.removeClass('off').addClass('on')}else{element.removeClass('on').addClass('off')};    
                                },
                                error: function (request, status, error) 
                            {   
                              //  alert(request.responseText);
                                }
                            });
                            });
                            };

它在这里进行php调用是使用php脚本的php调用允许我解决跨域安全问题。

  <?php
  //set POST variables
  $url = $_POST['url'];
  unset($_POST['url']);
  $fields_string = "";
  //url-ify the data for the POST
  foreach($_POST as $key=>$value) {
  $fields_string .= $key.'='.urlencode($value).'&';
  }
  rtrim($fields_string,"&");
  //open connection
  $ch = curl_init();
  //set the url, number of POST vars, POST data
  $url .= '&';
  $url .= $fields_string;
  curl_setopt($ch,CURLOPT_URL,$url);
  //execute post

  $string = curl_exec($ch);

  curl_exec($ch);

  curl_close($ch);
  ?>

0 个答案:

没有答案