来自jQuery变量的国家值需要用PHP加密函数插入到URL中,如何将jQuery值用于PHP
$("#country_select").change(function(){
var country = $("#country_select").val();
$(".price_content a").attr("href","signup.php?pack=<?php echo encrypt(2,$key);?>&country="<?php echo encrypt(country,$key);?>);
});
需要将var country
添加到encrypt
函数...
我如何使用?
答案 0 :(得分:2)
只有在请求页面时,您的PHP代码才会在服务器端执行一次。在更改事件中不会再次调用它。
可能的解决方案:
data-encrypted
属性中答案 1 :(得分:2)
你无法直接做到这一点。这是因为PHP在JQuery之前被处理。服务器端的PHP,客户端的JQuery。
您可以将encodeURIComponent用作建议的here。
但是,如果您仍然坚持通过PHP处理参数,您仍然可以使用输入参数对PHP脚本进行ajax调用 - 您需要编码的字符串,PHP将输出您编码的字符串。
答案 2 :(得分:1)
以下是您的解决方案:
<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
// extend jQuery Ajax and change it
$.extend({
getValues: function(url, qs) {
var result = null;
$.ajax({
url: url,
type: 'post',
data: qs,
async: false,
success: function(data) {
result = data;
}
});
return result;
}
});
$(function(){
$("#country_select").change(function(){
var country = $("#country_select").val();
$(".price_content a").attr("href","signup.php?pack="+$.getValues("encrypt.php",{q:'2'})+"&country="+$.getValues("encrypt.php",{q:country}));
});
})
</script>
<select name="country_select" id="country_select">
<option value="">Select country</option>
<option value="IND">India</option>
<option value="SL">Sri Lanka</option>
<option value="PAK">Pakistan</option>
</select>
<div class="price_content"><a href="">Click</a></div>
答案 3 :(得分:0)
嗯,PHP是服务器端语言,Javascript是客户端,这意味着,如果没有帖子,你就无法将变量传递给php。如果您不想刷新页面,可以使用AJAX帖子。 另一方面,在jQuery中使用PHP变量相当容易,所以如果这对你的工作是合理的,你应该考虑这一点。