从api获得结果

时间:2014-01-19 13:16:14

标签: api rest

我正在尝试使用免费域API中的API进行域可用性搜索。

创建帐户后,会显示:

**Make a REST request using this URL:**
http://freedomainapi.com/?key=11223344&domain=freedomainapi.com

查看文档页面,它只有:

请求http://freedomainapi.com?key=YOUR_API_KEY&domain=DOMAIN_NAME

结果:

{
"status": "success",
"domain": "freedomainapi.com",
"available": false
}

我对API很新......

我需要的是显示一个域搜索框,当用户输入时,它应该返回结果。

它声称也会显示域名建议。我希望它也能奏效。

6 个答案:

答案 0 :(得分:3)

使用jquery和jsonp代理

http://jsfiddle.net/mp8pukbm/1/

$.ajax({
    type: 'GET',
    url: "https://jsonp.nodejitsu.com/?callback=?",
    data: {url: 'http://freedomainapi.com?key=14ejhzc5h9&domain=freedomainapi.com'},
    dataType: "jsonp",
    success: myfn 
});
function myfn(data) {
   console.log(data);
}

您必须使用代理,因为不允许跨域json

编辑: 我做了一个更新,以显示div中的结果(字符串化) http://jsfiddle.net/mp8pukbm/2/

编辑#2:我在该网站上创建了一个测试密钥,您必须使用自己的

编辑#3:还有你的组合:http://jsfiddle.net/mp8pukbm/4/

答案 1 :(得分:1)

假设您将使用java脚本显示搜索框,您可以使用java脚本(或jQuery或Dojo)的AJAX功能...您需要做的就是像您可以粘贴的“GET”请求您将在响应对象上返回结果。要试用API,您可以在Chrome中使用“Postman”应用程序。 https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en

在AJAX调用的响应对象中,您将获得一个可以解析并显示结果的JSON对象。

答案 2 :(得分:1)

通常,当我们使用REST时,我们需要区分一个REST调用。  假设这个网址

http://freedomainapi.com/checkAvailability?key=YOUR_API_KEY&domain=DOMAIN_NAME

在Application层,我们需要编写一个接口

@GET
@Path("/checkAvailability")
@Produces({MediaType.APPLICATION_JSON})
public ReturnObject getDomainAvailability(@QueryParam("key") String key,
               @QueryParam("domain") String doaminName );

完成界面后,您需要编写实现类。 该类将使用业务层,并基于执行搜索任务 收集的结果将创建ReturnObject。

ReturnObject =>将包含状态,域和可用性

在屏幕上

$.ajax({
        type: "GET",
        url: 'root/checkAvailability',
        success: function(jsonData)
        {                       
            // read json and perform operation 
        }                                       
        ,
        error: function (error)
        {
            // handle error 
        } 
});     

答案 3 :(得分:1)

如果您使用JAVA作为后端,那么您可以使用gson来解析结果,这是一个json。解析后,您可以从结果中读取值并相应地显示:)

答案 4 :(得分:0)

任何API都是扩展给定软件的一种方式。 (可能是网站或应用程序)

在这两种方式中都有某种与软件通信的方式。在您的示例中,freedomainapi.com允许您获取给定的域是否可用。没有这样的建议,至少我根本找不到任何建议。

给定输出是一种称为JSON的消息格式。它可以很容易地被许多主要语言解释,例如Java,Javascript和PHP。 给定String可以很容易地解释为由状态(String),域(字符串)和可用(布尔)

组成的映射

域可用性搜索变得更加容易,假设K是您的密钥,D是您的搜索输入(域):

  1. 下载http://freedomainapi.com/checkAvailability?key=K&domain=D作为输入
  2. 将输入中的JSON解析为json
  3. return json [“status”] ==“success”和json [“avaiable”]
  4. 根据您的语言,您可能需要使用方法来访问json的属性,但这不会影响此API的基本用法。

答案 5 :(得分:0)

在用户输入时,它调用click_button函数,我假设你的结果显示div id是“main_container”你可以通过传递相关的DOMAIN_NAME作为click_button函数的参数来提供域建议

function click_button(DOMAIN_NAME){
$.ajax({
        url : 'http://freedomainapi.com?key=YOUR_API_KEY&domain=DOMAIN_NAME',
        type: 'GET',
        crossDomain: true,
        contentType: "application/json; charset=utf-8",
        success: function(data) {
            data=JSON.parse(data);
            if(data['available']){
               $('#main_container').html($('#main_container').html()+'<br>'+DOMAIN_NAME+': Available');
            else{
                $('#main_container').html($('#main_container').html($('#main_container').html()+'<br>'+DOMAIN_NAME+': Not Available');

        }//success
       });//ajax
}

希望它有用!