jquery 使用 AJAX 中的 json_encoded 数组

发布于 2024-10-25 20:24:02 字数 1071 浏览 1 评论 0原文

我只是想通过 jquery 的 AJAX 将数组的元素吐到表单上的单独输入字段中。

这是我的 javascript 代码:

        $('#based').change(function() { 
        if ($(this).val().length > 0)
        {           
            $.ajax({
                type: "POST",
                url: "ajax.php",
                data: "id="+$(this).val(),
                success: function(data){
                    if (data != 'error')
                    {                       
                        $('#keyword').val(data[2]);
                        $('#keyword_slug').val(data[3]);
                    }
                }
            });
        }
    });

这是我的“ajax.php”的 PHP 代码:

$sql = mysql_query("select * from `keywords` where `id`='".mysql_real_escape_string($_POST['id'])."'");

if (mysql_num_rows($sql) == 0)
{
    echo 'error';
}
else
{
    while ($row = mysql_fetch_assoc($sql))
    {
        foreach ($row as $k => $v)
            $data[] = $v;
    }

    echo json_encode($data);
}

它不起作用。我在这里做什么?我研究过serializeArray,但无法让任何东西正常工作。

I'm just trying to spit the elements of an array into seperate input fields on a form via jquery's AJAX.

Heres my javascript code:

        $('#based').change(function() { 
        if ($(this).val().length > 0)
        {           
            $.ajax({
                type: "POST",
                url: "ajax.php",
                data: "id="+$(this).val(),
                success: function(data){
                    if (data != 'error')
                    {                       
                        $('#keyword').val(data[2]);
                        $('#keyword_slug').val(data[3]);
                    }
                }
            });
        }
    });

Heres my PHP code for 'ajax.php':

$sql = mysql_query("select * from `keywords` where `id`='".mysql_real_escape_string($_POST['id'])."'");

if (mysql_num_rows($sql) == 0)
{
    echo 'error';
}
else
{
    while ($row = mysql_fetch_assoc($sql))
    {
        foreach ($row as $k => $v)
            $data[] = $v;
    }

    echo json_encode($data);
}

Its not working. What do I do here? I've looked into serializeArray but can't get anything to work properly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鸠魁 2024-11-01 20:24:02

我认为如果您希望返回 JSON,则需要 dataType: 'json'

否则 jQuery 必须猜测,如果您没有发送内容类型 application/json,它可能会猜测错误。

I think you need dataType: 'json' if you are expecting JSON back.

Otherwise jQuery has to guess, and if you are not sending the Content Type application/json, it may guess wrong.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文