我在使用此AJAX调用实际返回任何类型的对象时遇到问题。我知道我做错了什么,但我不知道在哪里。我希望有人可以帮助我,我希望在对象“zip”中返回一个元素。我想真的有任何回应,但我无法得到任何回报。
QByteArray ba("SGVsbG9XQ1Q=");
for(int i=ba.length()-1; i>=0 && ba[i]=='='; i--)
ba[i] = '|';
答案 0 :(得分:1)
当您使用GET调用时,您可以先在浏览器中对此进行测试,并确保在开始将其包装到JQuery调用中之前获得响应。
https://us-street.api.smartystreets.com/street-address?auth-id=[your-auth-id]&auth-token=[your-auth-token]&street=SOMETHING&state=SOMETHING&city=SOMETHING
如果您得到非结果,请咨询API以查看您是否传递了正确的参数。
使用DOCS,此调用会返回API密钥的数据 -
https://us-street.api.smartystreets.com/street-address?auth-id=[your-auth-id]&auth-token=[your-auth-token]&street=1600+amphitheatre+pkwy&city=mountain+view&state=CA&candidates=10
此JQuery Get HTML示例获得响应 -
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.get("https://us-street.api.smartystreets.com/street-address?auth-id=[your-auth-id]&auth-token=[your-auth-token]&street=1600+amphitheatre+pkwy&city=mountain+view&state=CA&candidates=10", function(data, status){
alert("zipcode: " + JSON.stringify(data));
});
});
});
</script>
</head>
<body>
<button>Send an HTTP GET request to a page and get the result back</button>
</body>
</html>
您应该能够在完善JQuery理解的基础上进行构建,以获得您所需的内容。
答案 1 :(得分:0)
我能够在您的代码中找到一些错误,并在this JSFiddle中修复它们。以下是您遇到的错误列表。
不要在公共代码中包含您的auth-id,auth-token。通过这样做,您可以放弃地址查找。您应该从帐户中删除这些内容并生成新帐户。
在您原来的success
函数中,您没有进行比较。你应该在这里使用==
。实际上,API永远不会为成功数据发回null,所以你甚至不再需要这个。请改用error
功能。
在ajax调用中传递的数据对象未正确完成。您不应该使用=
,而是使用:
。
在数据对象中,您应该在jQuery选择器之后调用.val()
以获取在这些字段中输入的值。
data.components[0].zipcode
应为data[0].components.zipcode
。 api将返回一个对象的数据数组。 components
不是数组。