如何将php变量传递给jquery

我尝试将php变量传递给jquery,我已经尝试使用了

但是当我尝试使用时,它并没有取得成功

dataSource:insted

dataSource: [ { childName: "Child1", childId: 1, parentId: 1 }, { childName: "Child2", childId: 2, parentId: 2 }, { childName: "Child3", childId: 3, parentId: 1 }, { childName: "Child4", childId: 4, parentId: 2 } ] 

它不能显示第二个选择,但我发现$ data与原始数据相同

我的代码,

   Kendo UI Snippet              $("#parent").kendoDropDownList({ dataTextField: "parentName", dataValueField: "parentId", dataSource: [ { parentName: "Parent1", parentId: 1 }, { parentName: "Parent2", parentId: 2 } ] }); $("#child").kendoDropDownList({ cascadeFrom: "parent", dataTextField: "childName", dataValueField: "childId", dataSource:  });    

我不知道我的代码有什么问题,请帮我解决问题,anyhelp将不胜感激! 谢谢!

你忘了echo你的php变量

  

另外,因为你想要它以json格式,你也必须解析它,因此你必须用双引号括起你的属性名称。

你的php变量将变为:

 $data = '[ { "childName": "Child1", "childId": 1, "parentId": 1 }, { "childName": "Child2", "childId": 2, "parentId": 2 }, { "childName": "Child3", "childId": 3, "parentId": 1 }, { "childName": "Child4", "childId": 4, "parentId": 2 } ]'; 

dataSource将是:

 dataSource: JSON.parse() 

它的工作:)

它的工作:)

这里的问题是你试图直接将字符串解析为JSON,这样你就会得到“新行”和输出字符串上的其他字符转义,你可以在这个测试中看到:

http://sandbox.onlinephpfunctions.com/code/3c31cecddd99aee0562d09c84b9a8e5770c3444b

但是,您可以实现您希望将格式正确的数组传递给json_encode函数而不是像这样的字符串的输出:

 $data_array = array( array('childName' => "Child1", 'childId' => "1", 'parentId' => "1"), array('childName' => "Child2", 'childId' => "2", 'parentId' => "3"), array('childName' => "Child3", 'childId' => "3", 'parentId' => "3"), array('childName' => "Child4", 'childId' => "4", 'parentId' => "4"), ); echo json_encode($data_array); /* Output: [{"childName":"Child1","childId":"1","parentId":"1"}, {"childName":"Child2","childId":"2","parentId":"3"}, {"childName":"Child3","childId":"3","parentId":"3"}, {"childName":"Child4","childId":"4","parentId":"4"}] */ 

编辑:正如@ mohammad-mudassir所指出的,你还需要使用JSON.parse将字符串解析回JSON。

dataSource: JSON.parse()