首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Ajax请求但未从PHP脚本获得应答

Ajax请求但未从PHP脚本获得应答
EN

Stack Overflow用户
提问于 2018-06-02 04:35:06
回答 2查看 32关注 0票数 1

我正在使用jQuery-function在单击时触发ajax请求。但是,尽管脚本应该通过post方法发送值,但我没有得到结果。看起来PHP脚本没有接收到这个值,但问题可能出在其他地方。

也许有人能告诉我问题出在哪里。

代码语言:javascript
复制
doClick = function (sender){
var jid = sender.id;
if ($(window).width() < 768) {
       $('.jwin').addClass('order-md-1').removeClass('order-md-2').removeClass('d-none');
       $('.jobs').addClass('order-md-2').removeClass('order-md-1').removeClass('d-block').addClass('d-none');
          var ink = document.getElementById('ajax').value;

          $.ajax({
           url:"get_job.php",
           method:"POST",
           data:{jid:jid},
           cache:false,
           dataType: "json",
           contentType: "application/json; charset=utf-8",
           success:function(data)
           {
                //console.log(data.success);
                if(data.success == TRUE)
                   {
                      //$('#ajax').text(data.nurl);
                      $('#title').text(data.title);
                      $('#crp').text(data.compnme);
                      $('#descript').html(data.jtxt);
                      $('#jadoci').text(data.city);     
                      $('#jadost').text(data.state);                          
                      $('#connx1').css("display", "inline");                                                                  
                      $('#connx2').css("display", "inline");
                      $('#applylink').css("display","block");
                      $('#applylink').attr('href',"links?jid="+jid);    
                      if(data.url==''){
                        $('#applylink').css("display","none");
                      }

                   }else{
                      // Fade in
                      alert(data.success);
                   }
           }
          });

       $('#returnmobile').append("<a href=''>"+jid+"</a>");
    }
else {

          $.ajax({
           url:"get_job.php",
           method:"POST",
           data:{jid:jid},
           cache:false,
           dataType: "json",
           contentType: "application/json; charset=utf-8",         
           success:function(data)
           {
                //console.log(data.success);
                if(data.success == TRUE)
                   {
                      //$('#ajax').text(data.nurl);
                      $('#title').text(data.title);

                      $('#descript').html(data.jtxt);

                      if(data.company==0){
                        $('#crp').text("Agent");                            
                      }
                      else{
                          $('#crp').text(data.compnme);                       
                          $('#crp').attr('href','company?id='+data.company)                     
                      }

                      $('#jadoci').text(data.city);     
                      $('#jadost').text(data.state);
                      $('#connx1').css("display", "inline");                                                                  
                      $('#connx2').css("display", "inline");    
                      $('#applylink').css("display","block");
                      $('#applylink').attr('href',"links?jid="+jid);                            
                      if(data.url==''){
                        $('#applylink').css("display","none");
                      }
                   }else{
                      // Fade in
                      alert(data.success);
                   }
           }
          });      

       //alert('More than 960');
}
};    

和PHP代码:

代码语言:javascript
复制
require "config.php";


$jid = $_POST["jid"];


$ipa = $_SERVER['REMOTE_ADDR'];



    $query = $con->query("SELECT jla.title AS title, jla.summary AS jtxt, jla.city AS city, jla.state AS state, jla.company AS corp, c.name AS company, jla.url AS url, jla.id AS coid FROM jobs jla LEFT JOIN companies c ON c.id = jla.company WHERE jla.id = $jid");

    if($query->num_rows > 0){ 
        while($row = $query->fetch_assoc()){

          $output =  array('success'=>TRUE,
                           'nurl'=>("<b>Does</b> it work? Yes!"),
                           'company'=>$row['corp'],
                           'compnme'=>$row['company'],
                           'title'=>$row['title'],
                           'city'=>$row['city'],
                           'state'=>$row['state'],                                                      
                           'coid'=>$row['coid'],
                           'url'=>$row['url'],                           
                           'jtxt'=>$row['jtxt']);      
        $quip0 = $con->query("SELECT * FROM clicks WHERE ip = '$ipa' AND job_id = '$jid'");
        if($quip0->num_rows < 1){
          $quip1 = "INSERT INTO clicks (ip, job_id) VALUES ('$ipa','$jid')";
          if ( $con->query($quip1) === TRUE) {
            echo json_encode($output,JSON_FORCE_OBJECT);
          }          
        }
        else {
            echo json_encode($output,JSON_FORCE_OBJECT);          
        }

        }
    }

再一次:我收到的结果似乎是空的。即使在Chrome的检查模式下,我也看不到我期望的值,这让我怀疑$jid的值不会被正确地传递。顺便说一句:到目前为止,sender.id是有效的。我曾经测试过这个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-02 05:35:48

您没有在服务器上发送json或预期的json,因此删除:

代码语言:javascript
复制
contentType: "application/json; charset=utf-8",
票数 2
EN

Stack Overflow用户

发布于 2018-06-02 04:48:11

可能会有几个问题。一个常见的问题是,当请求来自不同的域时,服务器不会为请求提供服务。在文件或函数的开头使用header('Access-control-allow-origin: *')

谨慎使用CORS

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50650680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档