我真的很喜欢这个。经过几个小时的考验,我无法摆脱。
我试图将一个php变量值传递给排队的jquery脚本,但我做不到。
这是我的密码。
php:
function itinerary_enqueuescripts(){
wp_enqueue_script(\'itenqueue\', JSONURL.\'/js/loadjson.js\', array(\'jquery\'));
wp_localize_script( \'itenqueue\', \'itajax\', array( \'ajaxurl\' => "hithere" ) );
}
add_action(\'wp_enqueue_scripts\', \'itinerary_enqueuescripts\');
在我的loadjson中。js文件我有一个简单的
var _latitude = 43.309;
var _longitude = 8.499;
var jsonPath = itajax.ajaxurl; //and should transform, in this example, in hithere
但当脚本排队时,var jsonPath将作为itajax的值。ajaxurl:)
脚本正确排队,在本例中,我做了一个简单的变量声明(只是为了解决问题..例如,脚本过早排队)。
有趣的是(也许这里有个线索,这是我的另一个插件的复制/粘贴,对于一个指向admin-ajax.php进行前端发布的函数。它的语法是相同的,当然变量名称不同,但在这种情况下它不起作用)。
谢谢你的提示。(我做了很多尝试,注册本地化排队,最后在wp\\u页脚排队……甚至将双引号改为单引号:)现在我想我真的错过了什么。
最合适的回答,由SO网友:Nilambar Sharma 整理而成
JS变量不会像您期望的那样直接替换。在代码中本地化是正确的。
当你这样做的时候var jsonPath = itajax.ajaxurl;
, 的值itajax.ajaxurl
分配给变量jsonPath
.
如果在控制台中调试此变量,将获得正确的值。console.log(jsonPath);