Ajax JQuery и Drupal не работают, пожалуйста, посмотрите, почему - PullRequest
0 голосов
/ 23 февраля 2011

drupal 6: вот код: http://pastebin.com/GGVFfAGS

//getcity.js:
$(document).ready(function() {
    $("#edit-field-house-geo-area-value").bind('change', function(){

        selected_loc=$("#edit-field-house-geo-area-value option:selected").val();
        var myURL="http://whatever.com/getajax/citys/"+selected_loc+"/";
        $.ajax({
             type: "GET",
             url: myURL,
             dataType: "json",
             success: function(data){
            console.log(data);
             }
            });

    });
});

Модуль друпал:

function sf_menu()
{
  cache_clear_all();
  $items = array ();
  $items ['getajax/citys/%'] = array ('title' => 'This is my custom page', 'page callback' => 'sf_get_cities_ajax', 'access arguments' => array ('access content' ), 'access callback' => 'user_access', // TRUE will give access to everyone
'page arguments' => array (2 ), 'type' => MENU_CALLBACK );
  return $items;
}  

function sf_get_cities_ajax($cityid)
{
  $termsarray = array ();
  $terms = array ();
  $cityid_safe = (int)$cityid;
  $cityid_safe = check_plain($cityid_safe);
  if (is_number($cityid_safe)) {
    $terms = taxonomy_get_children($cityid_safe, 143, 'tid');
    if (count($terms)) {
      foreach ($termsarray as $k => $v) {
        $termsarray [check_plain($k)] = t($v [tid]);
      }
     $f= array('status' => 1, 'data' => $termsarray,'moo'=>'sadasdsd');
    print drupal_json($f);

    exit();
    }

  }
}

это не вернет мне что-то, даже если я распечатываю данные 'moo'


это моя функция, она работает нормально, я получаю массив в финале, но он не проходит его

1 Ответ

0 голосов
/ 24 февраля 2011

Похоже, что это должно работать, кроме одной вещи ... В PHP нет функции is_number (), поэтому, если вы не написали свою собственную, вам нужно изменить оператор IF, чтобы использовать встроенный в PHP is_numeric:

if (is_numeric($cityid_safe)) {

Это совсем не проблема JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...