将输入字段内的字符串转换为javascript中的数组

时间:2018-01-09 13:50:47

标签: javascript php arrays

我有一个由PHP生成的输入字段,里面有一个变量。有时它是一个字符串,有时它可以是一个数组:

// IF IT IS A STRING
//$var = "value";

// IF IT IS AN ARRAY
$var = array("value1", "value2", "value3");

<input type="text" id="test" value="<?php if ( is_array($var) ) { echo json_encode($var); } else { echo $var; } ?>"

现在这个输入字段被传递到第二页,如果输入是字符串或数组,我需要检查VIA JAVASCRIPT:

$(document).ready(function(){
  var test = $("#test").val();
  if ( Object.prototype.toString.call(test) === '[object Array]' ) {
    alert("YES");
    var ok = JSON.parse(test); //manage "ok" like an array
  } else {
    alert("NO");
    var ok = test; // manage "ok" like a string
  }
});

但我总是得到NO警报! 我也试过if ( JSON.parse(test) ) {}。如果是数组,它可以正常工作。但是如果它是一个字符串,我的脚本就会出现控制台错误:SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

0 个答案:

没有答案