PHP:
$product_code = $_GET['product_code'];
$countryCode = getCountryCode();
<script src="js/register_script.js" type="text/javascript"></script>
jQuery:
function getCountryCode() {
countryCode = qrcode_getinfo(qrCode1,"mfg_c_a_code",0)
return countryCode;
}
我想从jquery中获取国家代码以执行一些验证任务,但是,我无法检索国家代码。任何想法我应该怎么做才能工作?请注意,该库已被调用。 (我已经阅读了示例,但并不太了解它是如何工作的。)
参考方案
不能直接从JavaScript调用PHP函数,反之亦然。部分原因是因为@Pekka表示JS在客户端(在您的浏览器中)运行,而PHP在服务器端(在您的服务器上)运行。
但是,可以将AJAX用于您的目的:
的HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
function getCountryCode()
{
countryCode = qrcode_getinfo(qrCode1,"mfg_c_a_code",0)
return countryCode;
}
function doAjax(){
var countryCode = getCountryCode();
$.ajax({
'url' : '<THE_URL_TO_YOUR_PHP>?countryCode=' + countryCode,
'method' : 'GET',
'success' : function(data){
console.log(data);
// do your handling here
},
'error' : function(data){
console.log(error);
// this function is executed on an HTTP error
}
});
}
</script>
的PHP
这是您的php文件,可以进行验证。原则上,它是与上述输出html的文件不同的文件。
$countrycode = $_GET['countryCode'];
# handle countrycode
echo "<What you want to return to JS>";
编辑
关于如何将session
变量获取到js的其他问题。
我将在浏览器中导航到您的页面时,会发生以下情况:如果我请求扩展名为.php
的文件,则PHP处理程序将在其上运行。该处理器将标记<?php
和?>
之间的所有代码标识为PHP,从而运行所有这些代码。如果遇到echo
语句,它将在php块的位置回显特定的值。
PHP完成处理后,将页面提供(提供)到您的浏览器,在该页面中,页面将被解释为HTML / javascript / ...的组合。Javascript将标记<script>
和</script>
之间的所有内容解释为javascript。
因此,如果我们在哪里向服务器上的index.php?par=val
发出请求,而index.php
<script type="text/javascript">
function doStuff(){
var param = <?php echo json_encode($_GET['par']);?>;
}
</script>
(json_encode
函数可确保变量采用正确的json格式。当然,您可以将'$ _GET ['par'];更改为所需的值。)
记住,PHP只关心<?php
和?>
标记之间的内容,因此将输出:
<script type="text/javascript">
function doStuff(){
var param = "val";
}
</script>
当然,您将需要对其进行编辑以使其符合您的要求,但这是将参数从PHP传递到客户端(JS)的基础
PHP:将数组值加在一起 - php我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…
PHP JQuery复选框 - php我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(…
php Singleton类实例将在多个会话中保留吗? - php举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…
PHP strtotime困境 - php有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…