【问题标题】:Using PHP and AJAX to send / receive JSON using a form使用 PHP 和 AJAX 使用表单发送/接收 JSON
【发布时间】:2011-10-10 10:24:56
【问题描述】:

我正在尝试构建一个带有单个文本字段和一个提交按钮的简单表单,单击该按钮时,会将值发布到 $.getJSON 方法,该方法检索 JSON 响应并将其输出到网页。

无论如何我可以使用 AJAX 和 PHP 动态地做到这一点吗?我是否需要使用 $.ajax 方法将值发布到 PHP 页面,或者我可以只折射我现有的方法。

$.getJSON(
    "https://www.googleapis.com/shopping/search/v1/public/products?callback=?",
    {
        key: "keyhere", 
        country: "US", 
        q: searchterm, 
        alt: "json" 
    },
    function(data) {

        $.each(data.items, function(i, item){

            if (item.product.images.length > 0) // sanity check
            {

            //global variables
            var link = item.product.images[0]['link'];
            var title = item.product.title;

                var listData = "<li>" + title + "</li>" + '<img title="' + title + '" src="' + link + '" />';

                $('#lists').append(listData);

                var img = $("<img/>").attr("src", link);
                $("<a/>").attr({href: link, title: "image title"}).append(img).appendTo("#images");

                console.log(data)
            }
        });
    }
);

编辑:

感谢 SBerg413,我设法将方法更改为 .ajax,它运行良好,工作示例如下:

var apiKey = "key";
var country = "US";
var apiurl = "https://www.googleapis.com/shopping/search/v1/public/products?callback=?";
var search = 'starwars';

$.ajax({
    url: apiurl,
    dataType: 'jsonp',
    data : 
    {
        key: apiKey, 
        country: country, 
        q: search,
    },
    success: function(data) {

         $.each(data.items, function(i, item){

            if (item.product.images.length > 0) // sanity check
            {

            //global variables
            var link = item.product.images[0]['link'];
            var title = item.product.title;

                var listData = "<li>" + title + "</li>" + '<img title="' + title + '" src="' + link + '" />';

                $('#lists').append(listData);

                var img = $("<img/>").attr("src", link);
                $("<a/>").attr({href: link, title: "Courtesy of James"}).append(img).appendTo("#images");

                console.log(data)
            }
        });


        // console.log(data);
        console.log(data)
    }
});

【问题讨论】:

  • 您想做的事很容易实现。我只是想知道您遇到了哪个具体问题?

标签: php jquery html ajax json


【解决方案1】:

jQuery getJSON 方法只是 ajax() 方法的简写。 http://api.jquery.com/jQuery.getJSON/ 所以,你应该可以使用任何一个。但是,getJSON 方法使用 GET。因此,如果您特别想使用 POST,最好使用 ajax() 方法。

【讨论】:

  • 或者post()方法,也是ajax()的简写
  • 谢谢。我还能在 ajax() 方法中添加 key、c​​ountry 和 searchterm 参数吗?
  • 当然。你会像现在一样去做。查看文档中的第一个示例,其中显示“数据:数据”。那就是你放你的地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
  • 2019-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多