Javascript Получить содержимое веб-страницы в массив - PullRequest
0 голосов
/ 10 марта 2011

Хорошо, у меня есть очень уникальный API для службы, которую я запускаю, в которой возвращаемые значения отображаются аналогично JSON (, но не JSON ), и он очень хорошо работает с большинством языков, но теперь я сталкиваюсь с проблемой доступа к возвращенным значениям только с использованием Javascript.

У меня есть страница PHP, которая принимает параметры GET, а затем отображает вывод следующим образом: stapi=0,0,0,0,0,0,0,0&stlinks=Hu3L|http://www.example.com,3Ozq|https://www.example.com

Это единственный вывод веб-страницы, и я хотел бы собрать эти две переменные в массив Javascript для отображения в виде списка. (Вторая переменная, которую я обычно собираю в совпадающие пары, вы можете увидеть разделение с помощью «|»)

Теперь мне просто нужно знать, как собрать «переменные» из выходных данных и поместить их в массив (эти две страницы НЕ будут находиться на одном сервере) ...

** Я хочу поместить значения, разделенные запятыми, в свой массив а затем сопоставленные пары / запятые значения stlinks вертикальной черты в свой собственный массив

1 Ответ

0 голосов
/ 10 марта 2011

Попробуйте эту функцию разделить вашу строку с помощью этой трубы:

function splitString(s,ch){
    var n = [];
    var i = 0, j = 0;
    while (i != -1){
        j = i;
        i = s.indexOf(ch,i+1);
        if (i > -1){
            if (j > 0){
                n.push( s.substr(j+ch.length,i-j-ch.length) );
            } else {
                n.push( s.substr(j,i-j) );
            }
        } else {
            n.push( s.substr(j+ch.length) );
        }
    }
    return n;
}

var result = [];

var pairs = splitString("stapi=0,0,0,0,0,0,0,0&stlinks=Hu3L|http://www.example.com,3Ozq|https://www.example.com","|");

var i = 0;

for (i = 0; pairs.length < i; i++){
    var temp = splitString(pairs[i],'=');
    result.push({name: temp[0], value: temp[1]});
}

То, что вам нужно, упаковано в переменную результата.

...