javascript - 使用 AJAX/JSON 验证 Twitter 帐户是否存在

标签 javascript jquery ajax twitter

我正在尝试构建一个简单的检查,它将接受一个字符串并检查该字符串是否存在 Twitter 帐户。

我已成功获得阳性结果,但似乎无法获得阴性结果。 $.ajax() 有一个错误元素,但它没有触发。

Working Example

代码:

var testTwit = function(username){
    $.ajax({
      url: 'http://twitter.com/statuses/user_timeline.json?screen_name='+username+'&count=1&callback=?',
      dataType: 'json',
      success: function(){
          alert("username is valid");
      }, 
     error: function(){
         alert("username is valid");
     }
   })
 }

最佳答案

您正在使用 JSONP 传输。在此传输中,请求的 URL 只是添加为 <script>文档中的标签。如果 URL 返回非 200 状态代码,浏览器将不会执行它:这就是您看不到否定响应的原因。

一种解决方案是使用 suppress_response_codes参数,以便 API 始终返回 200 状态代码。

参见Things Every Twitter Developer Should Know :

  • suppress_response_codes: If this parameter is present, all responses will be returned with a 200 OK status code - even errors. This parameter exists to accommodate Flash and JavaScript applications running in browsers that intercept all non-200 responses. If used, it’s then the job of the client to determine error states by parsing the response body. Use with caution, as those error messages may change.

顺便说一句,Twitter 正在禁止对 API 进行未经身份验证的访问,因此 JSONP 访问也可能会被禁止。

关于javascript - 使用 AJAX/JSON 验证 Twitter 帐户是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12261184/

相关文章:

ajax - 使用 AJAX 的 MarkLogic-Rest API

javascript - 对 JavaScript ECMA2015 中导入或创建的模块使用react

javascript - 带左箭头和右箭头的 Bootstrap 日期时间选择器

JQuery - 在下拉菜单更改时查找最接近的文本框

jquery - 如何将 Bootstrap 标签绑定(bind)到动态创建的元素?

php - 为什么我收到第二个请求和第一个请求?没有任何值(value)

javascript - 如何使用 jQuery 循环 3 个 div

javascript - child 更新 parent 的 'Angular way' 是什么?

javascript - 如何同时遍历多维数组中的每个数组

jquery - 如何添加图像上传以及ajax jquery表单提交