【问题标题】:Jquery $.post to php and get back in json formatJquery $.post 到 php 并以 json 格式返回
【发布时间】:2013-08-27 13:59:57
【问题描述】:

基于this 回答试图修改 jQuery 以将数据发送到 PHP 并以 JSON 格式返回。

创造了这个

$.post(
    "__02.php", 
    {
        'date_day': date_day,
        'currency': currency
    }, 
    function (data, textStatus) {
        $('#currency_load').html(data);
        $('#is_row_changed_currency' + suffix).val(0)
    }, 
    "json"
);

PHP是这样的

 $arr = array ('item1'=>"I love jquery4u",'item2'=>"You love jQuery4u",'item3'=>"We love jQuery4u");
echo json_encode($arr);

但不起作用。需要纠正什么?

对于没有 JSON 的比较,这是可行的:

$.post("__02.php", { 'date_day': date_day, 'currency': currency }, function(data) {
    $('#currency_load').html(data);
    $('#is_row_changed_currency' + suffix).val(0)
});

json 是追随目标所必需的

类似jquery的代码

$('#div1').html("<p>item1="+data.item1+"</p>");
$('#div2').html("<p>item2="+data.item2+"</p>");

html点赞

<div id="div1"></div>
<div id="div2"></div>

目标是在某些id 中显示来自php 数组的相应值/元素。没有json 不知道该怎么做。 html 除了div 还需要使用input。所以在input1php数组值[0]等等

看来function (data, textStatus)必须修改为function (data, success)

【问题讨论】:

  • __02.php 的输出是什么?
  • 它是否显示一些错误?
  • 什么不起作用?请明确点。不发帖吗?它不回来吗?打开您的开发工具(Chrome 上的 F12)然后发出请求,看看是否有错误。查看“网络”选项卡以查看它是否返回 404 或其他错误,或者是否首先发出请求(我假设您在这里使用的是 Chrome,任何其他浏览器上的开发工具都可以使用一样)
  • 没有错误。什么也看不见。如果删除 , textStatus, "json" 则一切正常
  • @user2465936 然后删除!!!

标签: jquery json


【解决方案1】:

您将一个对象(整个 JSON 响应)传递给 .html(),这将不起作用。你需要从对象中挑选一些东西来显示,例如:

$( '#currency_load' ).html( data.item1 );

如果您只是想确认数据已正确接收,请改用the consoleconsole.log( data )

【讨论】:

    猜你喜欢
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 2015-09-16
    相关资源
    最近更新 更多