只是想知道如何将值从“var vname”保存到“$ data”,以便我可以使用我的php中的值。假设这很容易,但我是新手:P
<script id="source" language="javascript" type="text/javascript">
//Call the yourAjaxCall() function every 1000 millisecond
setInterval("yourAjaxCall()",1000);
function yourAjaxCall()
{
//-----------------------------------------------------------------------
// 2) Send a http request with AJAX http://api.jquery.com/jQuery.ajax/
//-----------------------------------------------------------------------
$.ajax({
url: 'api.php', //the script to call to get data
data: "", //you can insert url argumnets here to pass to api.php
//for example "id=5&parent=6"
dataType: 'json', //data format
success: function(data) //on recieve of reply
{
var id = data[0]; //get id
var vname = data[1]; //get name
$data = vname; //HOW AND WHERE??????? :P
}
});
};
</script>
/EDIT - want my var vname which is a color, to be placed in the style.
<body>
<div id="kvadrat1" style="width:200px; height:200px; position:relative; background-color:'HERE I WANT MY VALUE'">
</div>
非常适合快速回答! :)
答案 0 :(得分:0)
请在此处阅读:Pass javascript variable to php with ajax and the result doesn't show anything
这将解释你使用PHP的javascript varaiables。 Zladuric的答案很棒。
答案 1 :(得分:0)
你无法在php中保存它。
您可以将其保存为HTML元素
如果你需要在php变量中使用ajax或头重定向将其发送到其他页面
答案 2 :(得分:0)
当用户加载页面时,PHP代码会执行一次。当用户在页面上时执行JS。这就是为什么不可能将JS生成的值绑定到PHP变量。
答案 3 :(得分:0)
您无法在加载页面时使用php代码或使用js。
javascript仅适用于浏览器库。 php之前只运行服务器 加载页面。
// you can
var name = "<?=echo $name?>";
//you CANT!
var name = "joe";
$name = name;
答案 4 :(得分:0)
对我而言,就像你只是想获取一个名字和一个ID,但无法想象为什么你需要每1000毫秒做一次 - 看起来好像很多数据请求都没有会改变吗?
就我个人而言,我建议您在加载页面之前在PHP中进行API调用,并且您可以像avalkab所说的那样var name = "<?=echo $name?>";
,以便在页面加载后访问JavaScript中的变量。
应该可以使用
$data = json_decode(file_get_contents("api.php?id=5&parent=6")); // Specify or build query however you intended
如果您正在等待用户进行交互(onclick或其他)以调用您的javascript,那么如果您希望使用AJAX检索的数据来更改整个页面上的数据 - 您可能只想重新加载页面或修改你的AJAX要使用返回的数据吗?
编辑: 由于您正在尝试更改颜色,因此您只需将此行与jQuery一起使用
即可$("#kvadrat1").css({"background-color": vname});
所以你的代码就是这样:
//Call the yourAjaxCall() function every 1000 millisecond
setInterval("yourAjaxCall()",1000);
function yourAjaxCall() {
//-----------------------------------------------------------------------
// 2) Send a http request with AJAX http://api.jquery.com/jQuery.ajax/
//-----------------------------------------------------------------------
$.ajax({
url: 'api.php', //the script to call to get data
data: "", //you can insert url argumnets here to pass to api.php
//for example "id=5&parent=6"
dataType: 'json', //data format
success: function(data) //on recieve of reply
{
var id = data[0]; //get id
var vname = data[1]; //get name
$("#kvadrat1").css({"background-color" : vname});
}
});
};
答案 5 :(得分:0)
你不能将它存储在php中,而不是你可以使用任何html元素来存储它
您可以使用$("#id").html(data[0]);