从Laravel函数向CasperJS发送关联数组

时间:2015-11-05 03:00:35

标签: php arrays laravel-4 casperjs

我是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();

当您检查数据中的输入时使用console.log的变量是

  

{1:HTTP://www.xxxx.com,2:HTTP://www.yyyy.com,3:HTTP://www.zzzz.com}

与json.encode不同,它省略了双引号,因为格式不同,我无法解码内容。

任何人都可以帮助为什么这样做?任何解决方案? OR是否有任何其他更好的方法将数组传递给casper并将结果作为数组返回。

0 个答案:

没有答案