我的config.php
文件中有这个
$DOMAIN = 'http://domain.com';
$DOMAIN_SSL = 'http://domain.com';
$DOMAIN_ROOT = 'var/domain/root/html';
config.php
包含在第一行的每个页面中
现在我有这个jQuery代码
var country = '<?php echo $_GET['country'];?>';
var category = 'Cat' ;
var category = '<?php echo $DOMAIN.'/link'; ?>';
如何使用jQuery代码从php获取变量以使jQuery代码像这样
var country = '$country';
var category = 'Cat' ;
var url= '$domain','/link';
原始代码我需要排除PHP
var country = '<?php echo $_GET['country'];?>';
var category = 'CAT1' ;
function loadData(page){
loading_show();
$.ajax
({
type: "POST",
url: "<?php echo $DOMAIN ?>/post.php",
data: "page="+page +"&category="+category+"&country="+country,
success: function(msg)
{
loading_hide();
$("#content-large").html(msg);
}
});
}
loadData(1); // For first time page load default results
$('#content-large .pagination li.active').live('click',function(){
var page = $(this).attr('p');
loadData(page);
});
$('#go_btn').live('click',function(){
var page = parseInt($('.goto').val());
var no_of_pages = parseInt($('.total').attr('a'));
if(page != 0 && page <= no_of_pages){
loadData(page);
}else{
alert('Enter a PAGE between 1 and '+no_of_pages);
$('.goto').val("").focus();
return false;
}
});
});
更新的答案
如果你试图从URL中获取值,就像你在PHP中使用$_GET
一样,我鼓励你使用jQuery URL解析器之类的东西:
var country = $.url().param("country"); // Gets the 'country' parameter
下载 jQuery URL 解析器:https://github.com/allmarkedup/jQuery-URL-Parser
原始答案
我鼓励你保持简单;只需使用格式化的字符串和json_encode
。例如:
$country = "United States";
$domain = "http://stackoverflow.com";
$category = 5;
printf( "var country = %s;", json_encode( $country ) );
printf( "var category = %s;", json_encode( $category ) );
printf( "var domain = %s;", json_encode( $domain . "/link" ) );
哪些输出:
var country = "United States";
var category = 5;
var domain = "http:'/'/stackoverflow.com'/link";
坦率地说,我认为你不需要在这里把事情复杂化这么多。这可能不是最华丽的解决方案或任何东西,但它应该有效。
这个想法是,在实际页面(例如,home.php
)上,您将回显包含所需值的HTML元素,例如:
//Fill this array with all the values that you want available in JS
$JSONarray = array('all'=>'the','values'=>'you','want'=>'in','JS');
//Later print it on the page
echo "<span class='hidden' id='transferred_values'>"
.json_encode($JSONarray)."</span>";
(旁注:您可以将类"隐藏"设置为对用户不可见。
现在,您的外部JS(例如scripts.js
)只能使用JS检索值,这将允许您使用压缩器:
$(function(){
var transfer = $.parseJSON( $('#transferred_values').text() );
});
让我知道这是否违反了良好做法或任何我不知道的规则:)
假设这是在页面上而不是在某个单独的JS文件中,你可以用PHP编写整个语句。
<?php echo "var country = " . json_encode($_GET['country']) . ";"; ?>