使用JSONP的跨域AJAX请求无法正常工作:(

时间:2013-06-01 11:45:19

标签: jquery cross-domain jsonp

我被告知从另一台服务器获取信息的好方法是使用JSONP完成的。

关于这个主题的资源不是很高,因为我尝试研究它,我找了一些例子,但大多数只是复制粘贴,但它们对我不起作用。

我将粘贴我的代码并简要说明我在做什么。

所以这只是我的代码的相关部分,我之前做的是解析用户表单并将值分配给JSON对象。然后我只是试图将这些数据传递给我的服务器(不是从这个数据发送到同一个域。)。我不会撒谎,我不知道我在这段代码中做了什么,任何帮助都将不胜感激。

            var myJSON = {"name": name, "cc": creditNo, "cvv": cvv, "month": month, "year": year};

            /*
            * Now we want to send data to server via AJAX
            */

            var showTemp = function(result){ 
                $("#ajaxDiv").html(result);
            }


            $.ajax({
                type: 'GET',
                url: "url/callback=showTemp",
                async: false,
                jsonpCallback: 'myJSON',
                dataType: 'jsonp',
                success: function(json) {
                   console.dir(json.sites);
                },
                error: function(e) {
                   console.log(e.message);
                }
            });

1 个答案:

答案 0 :(得分:0)

您将回调命名为showTemp和myJson两倍。

尝试此操作并确保您的响应在同一个命名回调中填充,在本例中为myJSON

$.ajax({
                type: 'GET',
                url: "url/?callback=?",
                async: false,
                jsonpCallback: 'myJSON',
                contentType: "application/json",
                dataType: 'jsonp',
                success: function(json) {
                   console.dir(json.sites);
                },
                error: function(e) {
                   console.log(e.message);
                }
            });