Ajax и манипуляции со строками для формирования массива - PullRequest
0 голосов
/ 18 февраля 2012

Я использую ajax для получения некоторой даты с сервера, затем я использую некрасивый хак для манипулирования строковыми данными, которые возвращаются в массив. Код работает, но есть ли более чистый способ сделать это?

function findUsers(date){
 $.ajax({
  type: "POST",
  url: "user_dates",
  cache: false,
  data: {matched_date:date},
  success: function(html){
    user_arry = [];
    $("#hidden_div").append(html);
    a = $("#hidden_div").html();

    b = a.substring(2, 6);
    c = a.substring(10, 14);
    d = a.substring(18, 22);

    user_arry.push(b,c,d);
    for (var j in user_arry) {
    (hidden_array = '\.'+ user_arry[j]);
    $(hidden_array).hide();
}

Ответы [ 3 ]

0 голосов
/ 18 февраля 2012

Вам действительно нужен user_array? Почему бы не назначить b, c, d напрямую для hidden_array? Вы могли бы назвать свои переменные лучше. Вы также можете работать с регулярными выражениями вместо подстрок. Но будь осторожен. Не делайте код более нечитаемым. Наконец, вы можете извлечь код в собственный метод. Но лучше использовать json с jquery:)

sven.malvik.de

0 голосов
/ 30 сентября 2013

не забудьте свойства dataType на стороне клиента:

[...]
cache: false,
data: _yourData,
dataType: 'json',
[...]
0 голосов
/ 18 февраля 2012

На стороне сервера

<?php

json_encode($yourdata);

?>

И на стороне клиента.

function findUsers(date){
 $.ajax({
  type: "POST",
  url: "user_dates",
  cache: false,
  data: {matched_date:date},
  success: function(data){
   var yourobj = jQuery.parseJSON(data);
   //use your object
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...