Я новичок в CasperJS и Laravel. Мне нужна помощь, я хочу отправить ассоциативный массив (все содержимое этого массива сразу) в функцию CasperJS из функции, в настоящее время я кодирую ее, используя код JSON_encode, так как скрипт CasperJS не принимает массив. Следующий фрагмент кода кодирует массив и отправляет его как одну строку. С другой стороны, я извлекаю строку в сценарии casperJS и не могу декодировать JSON. Формат json изменяется при достижении скрипта casperJS.
$array = array
(
[1] => http://www.xxxx.com,
[2] => http://www.yyyy.com,
[3] => http://www.zzzz.com
);
$data_fetch=json_encode($array);
$casperjs = new CasperJS;
$result = $casperjs->execute($this->script2,$data_fetch);
print_r($data_fetch);
который выводит после кодирования массива
{ «1»: «http://www.xxxx.com», «2»: «http://www.yyyy.com», «3»: «http://www.zzzz.com»}
Скрипт CasperJS
var system = require('system');
var casper = require('casper').create({
verbose: true,
logLevel: 'error',
pageSettings: {
loadImages: false,
loadPlugins: false
}
});
var data = system.args[4];
casper.start(function() {
var decode=json.stringify(data);
});
casper.run();
когда вы проверяете ввод в переменной ‘data’ с помощью console.log, это
{1: HTTP: //www.xxxx.com,2: HTTP: //www.yyyy.com,3: HTTP: //www.zzzz.com}
который отличается от json.encode, он пропускает двойные кавычки, потому что из-за разных форматов я не могу декодировать контент.
Может кто-нибудь помочь, почему так происходит ?? Любое решение для этого? ИЛИ есть какой-нибудь другой лучший способ передать массив Касперу и вернуть результат в виде массива.
Задача ещё не решена.
Других решений пока нет …