【问题标题】:$.getJSON with PHP Post returning null. Hardcoding the variables returns properly$.getJSON 与 PHP Post 返回 null。硬编码变量正确返回
【发布时间】:2013-04-13 03:52:40
【问题描述】:

我在对本地文件执行 JSON 查询时遇到了一点问题。当我使用时;

<script>
$('.Import').on('click', function(){
    $.getJSON("charFetch.php?name=" + $('.charname').val() + "&realm=" + $('.realmname').val(),function(data){

        console.log("charFetch.php?name=" + $('.charName').val() + "&realm=" + $('.realmName').val());
        console.log(data);

    }); 
}); 
</script>

结合;

//$realmName = $_GET['realm'];
//$charName = $_GET['name']

在我的 PHP 文件中,它返回 null。但是,当我实际使用浏览器中发布的这两个变量直接加载 PHP 文件时,它会像往常一样打印出 jQuery,如果我在 $realmName 和 $charName 变量中进行硬编码,我会在控制台中得到有效的返回。

这非常令人困惑,我非常感谢任何和所有帮助。

我尝试添加诸如“&callback=?”之类的内容所以它被视为 JSONP,但由于我在这方面几乎一无所知,所以我只是抓住了稻草。

编辑 cmets 中的建议修复已修复它返回 null,谢谢!

【问题讨论】:

  • 你的控制台说什么?
  • 另外,不知道是否有帮助,但为什么不使用$.getJSON('charFetch.php',{name:$('.charname').val(),realm:$('.realm').val()},function(){...});
  • charFetch.php?name=Reglitch&amp;realm=Turalyon localhost:17 null Argh,试图让格式正确,但 null 在新行上。
  • 啊,添加您建议的代码修复了它。现在对我来说完全是陌生的领土,我不能感谢你!
  • @TimWithers:你能把它写下来作为答案吗? @OP,它不起作用,因为参数必须是百分位数编码的。谷歌encodeURIComponent(..)

标签: jquery json post null jsonp


【解决方案1】:

出于 Thrustmaster 所说的原因,我会使用 jQuery.getJSON 语法,因为它会根据请求对文本进行适当的编码:

$.getJSON('charFetch.php',
    {name:$('.charname').val(),realm:$('.realm').val()},
    f‌​unction(){...});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多