我有一个 js 文件。是否可以在 js 文件中进行 php 编码?在我的标题中,我包含了我的 js 文件。
<script type="text/javascript" src="js/playthis.js"></script>
现在在我的 js 文件中:
function getURL(e) {
alert(e+' javascript varibale');
<?php $url; ?> = e;
alert('<?php echo $url; ?>'+' php variable');
}
在我的 php 文件中
<?php $url = "www.google.com"; ?>
<a href="#" onclick="getURL('<?php print $url; ?>');" class="title">
它不起作用。有什么问题吗?
最佳答案
在某些浏览器中,您必须为 Ajax 事务创建一个名为 XMLHTTP REQUEST 的新对象,在 I.E 中,这基本上是 ActiveXObject;
并且该对象属于窗口对象;
所以第一步是:
if ( window.XMLHttpRequest ) {
XHR = new XMLHttpRequest();
}
else if ( window.ActiveXObject ) {
XHR = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
alert("You Cant see because Your Browser Don't Support Ajax!!!\n Change Your Browser To A Modern One");
}
现在,你有了合适的对象
在下一步中,有一些 XHR 对象的发送和接收方法你应该知道:
1/onreadystatechange
2/就绪状态
3/状态
4/打开
5/发送
6/setRequestHeader
首先用open
打开一个连接:
XHR.open("POST", url, true);
如您所知,post 是发送方法,现在您必须设置要将信息发送到的 url,例如,如果要将变量发送到 test.php
,然后 url 是 test.php
...
true 表示请求将异步发送..
接下来是设置你的请求 header ,因为你正在使用 post
方法,在 get
方法中你不需要这个:
XHR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
接下来是使用 send 方法发送请求,格式为 send(name, value)
:
XHR.send('value=' + value);
第一个字符串 'value=' 是您将在 php 中获得的 $_POST 的索引,因此在您的 php 代码中,您将使用 $_POST['value']
提供它,如果您将名称设置为“name=”,在 php 中您有 $_POST['name']
,注意在 Ajax 发送参数中您必须在 =
之后使用数据名称,但在 php 中不使用 =
...
在您发送请求之后;是时候管理响应了:
XHR.onreadystatechange = function() {
if ( XHR.readyState == 4 && XHR.status == 200 ) {
document.getElementById('your target element for show result').innerHTML == XHR.responseText;
}
}
XHR.readyState == 4 和 XHR.status == 200 意味着一切正常
如您所愿,这是 Ajax 的基础知识;但是Ajax的资料太多了,要么你可以使用jQuery Ajax方法,简单灵活;但是如你所愿,我为你描述了基础知识......
关于javascript - 如何在javascript函数中将javascript变量传递给php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20390564/