【问题标题】:How can I send a curl request from javascript?如何从 javascript 发送 curl 请求?
【发布时间】:2018-08-13 12:11:46
【问题描述】:

我想发送这个

curl https://fcm.googleapis.com/fcm/send \
     -H "Content-Type: application/json" \
     -H "Authorization: key=<MY API KEY>" \
     -d '{ "notification": {"title": "Hello world", "body": "you got a new message", "icon": "icon/path","click_action" : "page/path"},"to" : "<DEVICE TOKEN>"}'

从一个 js 文件到我想要的任何地方。考虑到你在下面给我的想法,现在我正在尝试这个:

        $.ajax({
            url: "https://fcm.googleapis.com/fcm/send",
            type: 'POST',
            dataType: 'json',
            headers: {
                'Access-Control-Allow-Origin' : '*',
                'Authorization': '<APY KEY>',
                'contentType': 'application/json',
            },
            data: {
                'title': 'Hello world!', 
                'body': 'you got a new message', 
                'icon': 'icon/path', 
                'click_action' : 'page/path', 
                'to' : '<DEVICE TOKEN>',
            },
            success: function (result) {
              alert(JSON.stringify(data));
            },
            error: function (error) {
               alert("Cannot get data");
            }
        });

但我收到此错误:对预检请求的响应未通过访问控制检查:不存在“Access-Control-Allow-Origin”标头

【问题讨论】:

标签: javascript curl


【解决方案1】:

Curl 在 JavaScript 中不存在,您可以使用 XMLHttpRequest。为了更简单,您可以使用 jQuery 发送 AJAX 请求。

下面是一些示例代码:

$.ajax({
  type: "POST",
  url: "http://yourdomain.com/example.php",
  data: {
    api_key: "xxxxxxxx"
  },
  success: function(data) {
    console.log(data);
    //do something when request is successfull
  },
  dataType: "json"
});

【讨论】:

  • 是的,但就是这样,我不想在这个过程中使用任何 php,还有其他方式吗?
  • 您可以在任何资源 url 上使用 AJAX 请求,这不必是 PHP。
  • 是的,谢谢你的想法,我现在正在实现这个,但仍然有一些“标题访问控制”问题
  • 您需要将标头添加到您尝试使用 AJAX 加载的资源中。但这是 JavaScript 客户端脚本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 2016-09-11
  • 2020-04-05
  • 2017-11-14
  • 2013-10-29
  • 2018-04-23
  • 2020-10-10
相关资源
最近更新 更多