【问题标题】:How send Ajax to remote server in extjs6?如何在 extjs6 中将 Ajax 发送到远程服务器?
【发布时间】:2015-08-15 03:02:14
【问题描述】:

我正在客户端使用 Extjs-6.0.0 开发一个应用程序。我在 port 80 中运行客户端应用程序。我的服务器端应用程序在 端口 8084 中运行。我想创建一个 Ajax 请求来向服务器发送请求,该请求具有以下属性:

var json = {
    "@class": "ir.javan.geoad.entity.Melk",
    "title": "itsme",
    "description": "Hi all",
    "callPhone": "0912312312",
    "address": "ya ali",
    "accuracy": "MANTAQE",
    "user": {
        "email": "itsme.mm@gmail.com",
        "name": "asdf",
        "family": "asdf"
    }
};
Ext.Ajax.request({
    url: 'http://localhost:8084/GeoAd/ad/Add',
    useDefaultXhrHeader: false,
    method: "POST",
    cors: true,
    headers: {
        "Content-Type": "application/json"
    },
    jsonData: json,
    success: function(response){
        text = response;
    }
});

但这不起作用。 我该怎么做

【问题讨论】:

    标签: javascript ajax extjs extjs6


    【解决方案1】:

    因为您的服务器端应用程序位于不同的端口上,所以除非您在响应中有相应的 Access-Control-Allow-Origin 标头,否则对它的 AJAX 请求将不起作用。这是一个CORS(跨域资源共享)的东西。

    在此处了解更多信息:http://dev.housetrip.com/2014/04/17/unleash-your-ajax-requests-with-cors/

    【讨论】:

      【解决方案2】:

      这是由于 CORS 而发生的。

      您必须禁用浏览器安全才能访问此类请求。

      对于 Chrome,以下帖子可能对您有用 -

      Disable same origin policy in Chrome

      【讨论】:

        【解决方案3】:

        正如其他人所指出的,这是一个CORS 问题。

        如果您不想完全禁用同源策略,可以在需要时使用this Chrome extension 进行 CORS 调用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-06-05
          • 1970-01-01
          • 2018-01-31
          • 2021-07-06
          • 2015-12-24
          • 1970-01-01
          • 2015-05-27
          • 1970-01-01
          相关资源
          最近更新 更多