OnbuttonClick尝试通过.load()
POST 方法加载页面。生成的URL参数并打印为按钮属性btn-url
中格式化的JSON。
问题:参数未传递给.load()
,因为我使用的是javascript变量page
代码:
$(document).ready(function(){
$("#open-content").load($php_self,loadfunctions);
$("#open-content").on( "click", ".tools a", function (e){
e.preventDefault();
$("#open-loading-div").show();
var page = $(this).attr("btn-url");
$("#open-content").load($php_self,page, function(){
$("#open-loading-div").hide();
loadfunctions();
});
});
});
工作代码:
$(document).ready(function(){
$("#open-content").load($php_self,loadfunctions);
$("#open-content").on( "click", ".tools a", function (e){
e.preventDefault();
$("#open-loading-div").show();
/*var page = $(this).attr("btn-url");*/
$("#open-content").load($php_self,{"pndg":"nta%3d","nm":"umfuiefuzhk%3d","dpt":"sfi%3d}, function(){
$("#open-loading-div").hide();
loadfunctions();
});
});
});
我希望page
变量中存储的 JSON 作为参数传递给.load()
。
如何将网址参数从page
变量传递到.load()
函数?
注意:$php_self
和page
将通过 POST 方法访问 PHP 文件
答案 0 :(得分:1)
问题是,page
对象不是json object
,而是stringified json object
。但是,.load
中的jQuery
方法接受字符串和普通对象,但它不适用于stringified json
。简单的解决方案是将.load
调用更改为:
$("#open-content").load($php_self,JSON.parse(page), function(){
$("#open-loading-div").hide();
loadfunctions();
});