Intel XDK Google API JQuery

Intel XDK Google API JQuery

本文关键字:JQuery API Google XDK Intel      更新时间:2023-09-26

我想在使用英特尔 XDK 开发的跨平台应用程序中使用 Google Url Shortener API。至少在模拟器中,似乎没有强制执行 SOP。无论如何,我得到这个回应:

{"readyState":4,"responseText":"{'n '"error'": {'n  '"errors'": ['n   {'n    '"domain'": '"global'",'n    '"reason'": '"required'",'n    '"message'": '"Required parameter: shortUrl'",'n    '"locationType'": '"parameter'",'n    '"location'": '"shortUrl'"'n   }'n  ],'n  '"code'": 400,'n  '"message'": '"Required parameter: shortUrl'"'n }'n}'n","responseJSON":{"error":{"errors":[{"domain":"global","reason":"required","message":"Required parameter: shortUrl","locationType":"parameter","location":"shortUrl"}],"code":400,"message":"Required parameter: shortUrl"}},"status":400,"statusText":"Bad Request"

法典:

    $.ajax(
    {
        url: "https://www.googleapis.com/urlshortener/v1/url",
        contentType: "application/json",
        data: { longUrl: "firec.at" }, 
        success: function (data) {
                $("#txtUsernameLogin").val(JSON.stringify(data));
        },
        error: function(data)
        {
             $("#txtUsernameLogin").val(JSON.stringify(data));
        }
    });

看起来它没有发送长网址参数。我不知道为什么会失败,并感谢任何建议。谢谢。

因为jQuery不会自动转换JSON字符串中的对象。您可以使用JSON.stringify

data: JSON.stringify({ longUrl: "firec.at" }),

请注意,JSON.stringify并非在所有浏览器上都可用。您可能希望使用跨浏览器的jQuery插件来执行此操作。

顺便说一下,看起来你想做一个 POST,所以你可能也需要添加这个:

type : 'POST',

默认情况下,jQuery执行GET。