JQuery AJAX плагин автозаполнения - PullRequest
0 голосов
/ 16 июля 2011

Привет, я нашел этот плагин к лучшему.И к тому, что я хочу Плагин jQuery: токенизация автозаполнения ввода текста

Но когда я попытался создать свой собственный php-файл, он не работает

Мой php-файл:

<?php
$arr= array(
array("id"=>1,"name"=>"Ruby"),
array("id"=>1,"name"=>"Kritya")
);
var_dump($arr);
$json_response = json_encode($arr);
$json_response = $_GET["callback"] . "(" . $json_response . ")";
echo $json_response;
?>

Они дали мне файл sample.php, в котором было следующее:

<?

#
# Example PHP server-side script for generating
# responses suitable for use with jquery-tokeninput
#

# Connect to the database
mysql_pconnect("host", "username", "password") or die("Could not connect");
mysql_select_db("database") or die("Could not select database");

# Perform the query
$query = sprintf("SELECT id, name from mytable WHERE name LIKE '%%%s%%' ORDER BY popularity DESC LIMIT 10", mysql_real_escape_string($_GET["q"]));
$arr = array();
$rs = mysql_query($query);

# Collect the results
while($obj = mysql_fetch_object($rs)) {
    $arr[] = $obj;
}

# JSON-encode the response
$json_response = json_encode($arr);

# Optionally: Wrap the response in a callback function for JSONP cross-domain support
if($_GET["callback"]) {
    $json_response = $_GET["callback"] . "(" . $json_response . ")";
}

# Return the response
echo $json_response;

?>

Я не хочу, чтобы он получал данные из базы данных, а просто использовал массив или данные из XML-файла, когдая пытаюсь использовать это на странице HTML

<h2 id="theme">Facebook Theme</h2>
<div>
    <input type="text" id="demo-input-facebook-theme" name="blah2" />
    <input type="button" value="Submit" />
    <script type="text/javascript">
    $(document).ready(function() {
        $("#demo-input-facebook-theme").tokenInput("/test.php", {
            theme: "facebook"
        });
    });
    </script>
</div>

Это прекрасно работает, когда я помещаю файл php их веб-сайта, но продолжает говорить, что Поиск ... С моим файлом Вызывающе есть некоторая ошибка с моей структурой ARRAY.

1 Ответ

0 голосов
/ 18 июля 2011

Основная проблема заключается в том, что вы передаете вложенные массивы

   $arr= array(
   array("id"=>1,"name"=>"Ruby"),
   array("id"=>1,"name"=>"Kritya")
   );

, когда ваш плагин ожидает массив, который объединяет несколько объектов из команды mysql_fetch_object .

Возможно, это может сработать:

   $arr=array();
   $object = new stdClass();
   $object->id = 1;
   $object->name = "Ruby";
   $arr[]=$object;
   $object = new stdClass();
   $object->id = 1;
   $object->name = "Kritya";
   $arr[]=$object;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...