我有一个从服务中获取的脚本标记。我只是将它附加到html的头部。
它会被追加,但事实是它有一些我需要在我的应用程序中访问的值。
<script>
abc.header.value = "1";
abc.header.path = "/abc/def/ghi?isThirdParty=false&version=v123";
</script>
如果我尝试访问abc.header.value,将脚本添加到标题中,它会抛出undefined。
如何从添加的脚本中访问值。而且我有一个全局对象,有没有办法将所有这些动态添加的值添加到该对象?
示例代码段: 我从ajax调用获取脚本标记并将其存储在变量中。
var sampSnip = "<script> abc.header.value = "1"; abc.header.path = "/abc/def/ghi?isThirdParty=false&version=v123"; </script>";
$('head').append(sampSnip);
答案 0 :(得分:1)
看一下我刚刚为你写的这个简单的登录表格。
// HTML
for (int i=idx; i<count; i++)
// JS
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="styles/index.css">
<script src="scripts/index.js"></script>
</head>
<body>
<form>
<input type="text" name="username" placeholder="username">
<input type="password" name="password" placeholder="password">
<input id='signin' type="button" value="Sign In">
</form>
</body>
</html>
// PHP
document.addEventListener("DOMContentLoaded", init);
function init(){
document.getElementById('signin').addEventListener('click', click.signin);
}
var click = {
"signin": function(e){
e.preventDefault();
var inputs = e.target.parentNode.children;
var data = new FormData();
var client = new XMLHttpRequest();
for(var i=0; i < inputs.length; i++){
if(inputs[i].type !== 'button'){
data.append('credentials['+inputs[i].name+']', inputs[i].value);
}
}
client.addEventListener("load", callback.signin);
client.open("POST", "/core/signin.php");
client.send(data);
}
};
var callback = {
"signin": function(e){
var data = JSON.parse(e.target.response);
console.log(data);
}
};
// CSS
<?php
echo json_encode($_POST['credentials']);
?>