使用PHP和AJAX使用表单发送/接收JSON


Using PHP and AJAX to send / receive JSON using a form

我试图建立一个简单的表单与一个单一的文本字段和提交按钮,点击时,张贴值到$。getJSON方法,它检索JSON响应并输出到网页。

无论如何我可以做到这一点动态使用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)
    }
});

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