首页 > 解决方案 > Ajax 调用适用于cordova,但不适用于离子反应电容器

问题描述

import { Redirect, Route } from 'react-router-dom';
import { IonApp, IonButton, IonRouterOutlet } from '@ionic/react';
import { IonReactRouter } from '@ionic/react-router';
import Home from './pages/Home';

/* Core CSS required for Ionic components to work properly */
import '@ionic/react/css/core.css';

/* Basic CSS for apps built with Ionic */
import '@ionic/react/css/normalize.css';
import '@ionic/react/css/structure.css';
import '@ionic/react/css/typography.css';

/* Optional CSS utils that can be commented out */
import '@ionic/react/css/padding.css';
import '@ionic/react/css/float-elements.css';
import '@ionic/react/css/text-alignment.css';
import '@ionic/react/css/text-transformation.css';
import '@ionic/react/css/flex-utils.css';
import '@ionic/react/css/display.css';

/* Theme variables */
import './theme/variables.css';

import axios from 'axios';
import * as $ from 'jquery';
const App: React.FC = () => {

  let configAxios: object = {
    // responseType: 'document', 
    // headers: {
    //   // "Access-Control-Allow-Origin": "*",
    //   'Content-Type': 'text/xml'
    // },
    data: { pToken: token}
  }

  const makeAxiosCall = () => {
    
    // axios.get(url, configAxios)
    // .then( (response) => {
    //  console.log(response);
    //   console.log("Sucesso");
    // })
    // .catch((err) => {
    //  console.log(err)
    // })

    $.ajax({
      type: 'GET',
      // url: 'https://jsonplaceholder.typicode.com/todos/1',
      url: url,
      //contentType: "application/json; charset=utf-8", // we are sending in JSON format so we need to specify this
      dataType: "text", // the data type we want back.  The data will come back in JSON format
      success: function (data) {
        console.log("Funcionou");
        console.log(data);
      },
      error: function(err){
        console.log( "ERROR", err );
        alert("Erro");
      }
     });
  }

  return (
  <IonApp>
    <IonButton onClick={makeAxiosCall}>
      Web Service
    </IonButton>
  </IonApp>
  );
};

export default App;

当我尝试对 url 进行这个 ajax 调用时,它不起作用只会给我一个错误并且没有指定它。但是当我对 typicodes 进行 ajax 调用时,它会返回一个有效的响应并落在成功函数中。为什么它不适用于作为 Web 服务的我的 url?该网址适用于cordova,但不适用于离子反应和电容器的这个项目。

用ajax显示的错误:

错误

axios 显示的错误: 错误

标签: reactjsajaxtypescriptionic-frameworkcapacitor

解决方案


推荐阅读