【问题标题】:How to work with API that requires a callback function as query parameter如何使用需要回调函数作为查询参数的 API
【发布时间】:2020-04-24 03:26:34
【问题描述】:

我正在尝试在这里使用 api:https://abr.business.gov.au/json/,但它需要一个回调函数作为查询参数传入。我如何才能真正从 react 应用程序中使用这个 api 并传入回调函数?

我真的不知道。

【问题讨论】:

    标签: javascript reactjs api fetch


    【解决方案1】:

    API 调用返回一些 javascript。

    所以当你提出以下请求时:

    https://abr.business.gov.au/json/AbnDetails.aspx?abn=74172177893&callback=callback&guid=myguid
    

    它会返回这个:

    callback({"Abn":"","AbnStatus":"","Acn":"","AddressDate":null,"AddressPostcode":"","AddressState":"","BusinessName":[],"EntityName":"","EntityTypeCode":"","EntityTypeName":"","Gst":null,"Message":"The GUID entered is not recognised as a Registered Party"})
    

    这将调用名为callback 的窗口对象上的函数,因此您必须在代码中的某处定义一个名为callback 的函数来处理调用。

    这里是针对callback=abnCallback 的请求完成的示例,注意abnCallback 函数:https://abr.business.gov.au/json/Script/abnlookup-sample.js

    祝你好运,顺便说一句,这与反应无关。这只是一个 javascript 的东西。

    【讨论】:

    • 所以我发送了这样的请求 fetch(`${abnAddress}?guid=${GUID}&abn=${abnNo}&callback=callbackFunction`, { mode: 'no-cors' }) 并且我有一个函数 const callbackFunction = (e) => { console.log('call back func') setCallBack(e) } 应该被调用?但是我在本地主机的任何地方都看不到 console.log。如何将回调函数的结果输入到我的应用程序中?
    • 不要说const callbackFunction = ...。说window.callbackFunction = ...
    猜你喜欢
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多