2013-04-24 71 views
0

我正在嘗試爲即時輸入更改上的關鍵字執行數據庫查詢。現在,我得到一個成功的查詢,並存儲了所有結果,但在GET上顯示它們,我的ajax函數返回false。它爲什麼這樣做?AJAX返回false但我不明白爲什麼?

控制檯輸出:

POST http://example.com/functions/ajax.php 

response: the data i need to display 

接着是

GET http://example.com/functions/ajax.php 

response: false 

這裏是我的JS:

<script id="source" language="javascript" type="text/javascript"> 
$(function() { 
    $('#url').bind('input', function() { 
     $(this).val() // get value 
     $.ajax({ 
      type: 'POST', 
      url: 'functions/ajax.php', 
      data: { 
       url: $('#url').val() 
      }, 
      success: function (data) //on receive of reply 
      { 
       $(function() { 

        $.ajax({ 
         url: 'functions/ajax.php', //the script to call to get data   
         data: "", //you can insert url arguments here to pass to api.php 
         //for example "id=5&parent=6" 
         dataType: 'json', //data format  
         success: function (data) //on receive of reply 
         { 
          var namePHP = data[1]; 
          var categoryPHP = data[2]; 

          //-------------------------------------------------------------------- 
          // 3) Update html content 
          //-------------------------------------------------------------------- 

          $('#name').html(namePHP); // # name and #category are input fields I want autofilled 
          $('#category').html(categoryPHP); 


         } 
        }); 
       }); 
      } 
     }); 
    }); 
}); 
</script> 

ajax.php

<?php 
require_once ('DBconnect.php'); 

$url = $_POST['url']; 

$url = mysqli_real_escape_string($con, $url); 

$query = "SELECT * FROM `inserted_posts` WHERE `search_name` = '$url'"; 
$result = mysql_query($query); 

$array = mysql_fetch_array($result); 

echo json_encode($array); 
?> 
+0

爲什麼你的回調做一個AJAX調用同一個頁面拉AJAX呼叫? – 2013-04-24 18:19:20

+0

@RocketHazmat:爲什麼不呢?不同的方法,參數和數據類型:-) – Bergi 2013-04-24 18:29:48

+0

[希望自動填充輸入欄與AJAX](http://stackoverflow.com/questions/16199886/want-to-auto-fill-input-bars-with- ajax) – Musa 2013-04-24 23:40:47

回答

1

您的ajax.php文件依賴於$_POST變量。這意味着你必須使用POST方法發送數據。否則,PHP只是看不到它。

+0

它收集數據,並通過POST發回響應,問題在於將數據插入到輸入實體中 – 2013-04-24 18:22:00

+0

對不起,發送響應爲 echo json_encode($ array); 我可以看到控制檯中的響應 – 2013-04-24 18:22:26

0

更改變量賦值爲$ URL從$ _REQUEST而不是$ _POST

$url = $_POST['url']; 

$url = $_REQUEST['url'];