繁体   English   中英

如何在 phonegap 中发送 HTTP 请求?

How to send HTTP requests in phonegap?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在使用 phonegap 开发库存管理移动应用程序,但我不知道如何发送 http 请求而不遇到 CORS 策略问题。 I installed the cordova advanced http plugin but when I preview the app on chrome, the cordova object doesn't exist because the cordova.js script isn't added until later so I haven't really been able to tinker with the plugin. 我只是想发送一个 http 请求并读回 JSON。 我有一个 URL。 没有用户名或密码。 请帮忙! 我被困住了!

更新:

我使用了这段代码:


    $.ajax({

    url: 'https://api.barcodelookup.com/v2/products?barcode=075500000010&formatted=y&key=8f5uvzskkmjnptt43bz7yjzgwehscl',
    data: null,
    type: 'GET',
    crossDomain: true,
    dataType: 'jsonp',
    success: function() { alert("Success"); },
    error: function() { alert('Failed!'); },
});

现在请求通过了,但响应被阻止了。 我尝试通过将其放入我的 xml 来将其列入白名单:

allow-intent href="https://api.barcodelookup.com/*"
access origin="https://api.barcodelookup.com/*"

但我仍然收到此错误消息,表示响应被阻止:

jquery-1.11.1.min.js:4 Cross-Origin Read Blocking (CORB) blocked cross-origin response https://api.barcodelookup.com/v2/products?barcode=075500000010&formatted=y&key=8f5uvzskkmjnptt43bz7yjzgwehscl&callback=jQuery111107483149196833481_1568855081600&_=1568855081601 with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.
3 个回复

好吧,您可以简单地将jQuery添加到您的应用程序中并执行

$.ajax({
        url: "http://localhost/",
        type: "POST",
        crossDomain: true,
        data: JSON.stringify(somejson),
        dataType: "json",
        success: function (response) {
            var resp = JSON.parse(response)
            alert(resp.status);
        },
        error: function (xhr, status) {
            alert("error");
        }
    });

您也可以根据您的后端尝试此操作(并将您的数据发布为 JSON 字符串)

$.ajax({
        method:'POST',
        url:url,
        data:json_string,
        async:true,
        processData:false,
        contentType:'application/x-www-form-urlencoded',
        dataType:'json',            
        ...
   );

你可以在你的 API php 中使用它

header('Access-Control-Allow-Origin: *'); header("Content-Type: application/json; charset=UTF-8");

好的。 我终于明白了:我不得不使用 cordova 高级 http 插件。 我使用了以下代码:

const options = {
  method: 'get',
  headers: { Authorization: 'OAuth2: token' }
};

cordova.plugin.http.sendRequest('https://api.upcitemdb.com/prod/trial/lookup?upc=075500000010', options, function(response) {
  // prints 200
  alert(response.status);
  var obj = JSON.parse(response.data); // This is the resultant JSON in useful form
}, function(response) {
  // prints 403
  alert(response.status);

  //prints Permission denied
  alert(response.error);
});
3 如何在AngularJS中发送HTTP请求onbeforeunload?

我有一个简单的角度应用程序,有两个使用ngRoute加载的视图。 当用户在视图之间导航以及用户离开页面时(刷新窗口,关闭选项卡或关闭浏览器),我需要在服务器上进行一些清理。 我的第一站就在这里: 当用户离开页面时在angularjs中显示警报 。 它解决了用户在视图之间导航的第一种情况 ...

4 我如何在HTTP请求中发送对象

我正在创建一个Web服务 ,该服务将正确处理传入的请求(我知道,这是一个描述),我发现了一些示例代码,这些示例代码呈现SOAP WS ,看起来像: 它从请求中获取Cert对象,并对其进行适当的管理。 我想用REST方法做到这一点,我将此类更改为: 但是我不知道如何或者甚至不可能 ...

6 JSON数据如何在http请求中发送?

假设我在下面发出http请求,以更新mongoDB数据库中的一些记录: 放 http://dev.mycompany.co/ping {“ id”:4432,“名称”:“简·多伊”,“产品”:[{“ id”:287},{“ id”:434}]} 请注意,上述JSON的“ pr ...

8 在Android中发送HTTP请求

我正在将HTTP请求发送到服务器中的PHP站点。 但是,当我发送请求时,电话卡了几秒钟。 有时,它发送和接收请求的结果的时间越来越长。 如何解决这个问题。 请帮我找到解决方案。 谢谢。 这是我尝试过的代码... } ...

9 在VBA中发送HTTP请求

我正在使用MSXML2.ServerXMLHTTP对象在VBA中向我的服务器发送HTTP请求。 这是我的代码: 我的问题是我的data.php,简单地说: 返回“index undefined”错误。 我无法访问我的参数的任何值。 奇怪的是这段代码: 将name=b ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM