我有一个页面上有两个<script>
块,一个在本地运行,一个在ExactTarget服务器上运行:
<script type="text/javascript">
var results = localStorage.getItem('results');
var results = JSON.parse(results);
</script>
<script runat=server>
Platform.Load("Core","1");
Write(Stringify(results)); //this returns a 'null' value
var campaignsupdate = DataExtension.Init("0DB9904F-CE05-45E7-8052- 7C6935B4B012");
for(var i=0; i < results.length; i++) {
var rowid = results[i]["ROWID"];
var title = results[i]["title"];
campaignsupdate.Rows.Update({title: title},["ROWID"], [rowid]);
}
</script>
目前,打电话给&#39;结果&#39;在&#39; runat = server&#39; block返回null值。如何访问&#39;结果&#39; &lt; runat = server&#39;中的数组方框?
答案 0 :(得分:0)
你不能。由于服务器端Java脚本在服务器上运行:),它在客户端计算机上执行的javascript之前执行,因此var&#39;结果&#39;在SSJS块中访问它时不存在。 据我所知,SSJS无法与javascript通信,因此您无法使用javascript库或javascript块中编写的代码。 作为替代方案,您可以在GET / POST请求中传递一个值并在SSJS中获取它。 看看:http://help.marketingcloud.com/en/documentation/exacttarget/content/server_side_javascript/server_side_javascript_syntax_guide/core_library_server_side_javascript_functions/utilities_server_side_javascript_functions/ 请求对象和函数区域