【问题标题】:pass json parameter as variable to .load()将 json 参数作为变量传递给 .load()
【发布时间】:2015-06-12 08:42:04
【问题描述】:

OnbuttonClick 试图通过.load() POST 方法加载页面。生成的 URL 参数并以 JSON 格式打印为按钮属性btn-url

问题:参数未传递给.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()

如何将URL参数从page变量传递给.load()函数?

注意:$php_selfpage 将通过 POST 方法访问 PHP 文件

【问题讨论】:

  • 你能告诉我们pagepls的结构吗?
  • {"pndg":"nta%3d","nm":"umfuiefuzhk%3d","dpt":"sfi%3d"} 我会得到这样的东西 alert(page);
  • 缺少的引号是错字吗?
  • 您可以添加此行:console.log($.isPlainObject(page)); 并给我们结果吗?
  • 是的,我错过了工作代码中的 "

标签: javascript jquery json


【解决方案1】:

问题在于,page 对象不是json object,而是stringified json object。但是,jQuery 中的 .load 方法接受字符串和普通对象,它不适用于 stringified json。简单的解决方案是将 .load 调用更改为:

$("#open-content").load($php_self,JSON.parse(page), function(){ 
    $("#open-loading-div").hide(); 
    loadfunctions(); 
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多