32

我正在尝试一个基本的ajax调用。所以我在测试服务器上托管了以下测试 php: http: //voicebunny.comeze.com/index.php ?numberOfWords= 10 这个网页是我自己的测试,已经集成到 VoiceBunny API http:// voicebunny.com/developers

现在我需要使用 jQuery 在其他网页中获取该网页打印的数据。如您所见,网页回显了一些 JSON。如何从另一个网页获取此 JSON?

这是我的代码:

 $.ajax({

        'url' : 'http://voicebunny.comeze.com/index.php',
        'type' : 'GET',
        'data' : {
            'numberOfWords' : 10
        },
        'success' : function(data) {              
            alert('Data: '+data);
        },
        'error' : function(request,error)
        {
            alert("Request: "+JSON.stringify(request));
        }
    });

我尝试了许多其他变体,但我总是得到一个错误,而不是 JSON。谢谢

4

2 回答 2

56

请在您的 ajax 调用的设置参数中将dataType属性的值设置为json ,然后再试一次!

另一点是您使用 ajax 调用设置设置属性作为字符串,它作为 参考站点是错误的

$.ajax({

    url : 'http://voicebunny.comeze.com/index.php',
    type : 'GET',
    data : {
        'numberOfWords' : 10
    },
    dataType:'json',
    success : function(data) {              
        alert('Data: '+data);
    },
    error : function(request,error)
    {
        alert("Request: "+JSON.stringify(request));
    }
});

我希望这是有帮助的!

于 2013-09-25T22:15:20.103 回答
22

您还可以使 ajax 调用更通用、可重用,因此您可以从不同的 CRUD(创建、读取、更新、删除)任务中调用它,并处理来自这些调用的成功案例。

makePostCall = function (url, data) { // here the data and url are not hardcoded anymore
   var json_data = JSON.stringify(data);

    return $.ajax({
        type: "POST",
        url: url,
        data: json_data,
        dataType: "json",
        contentType: "application/json;charset=utf-8"
    });
}

// and here a call example
makePostCall("index.php?action=READUSERS", {'city' : 'Tokio'})
    .success(function(data){
               // treat the READUSERS data returned
   })
    .fail(function(sender, message, details){
           alert("Sorry, something went wrong!");
  });
于 2014-06-21T14:57:00.623 回答