0

jQueryとAjaxを使用して、テキストボックスに書き込んだ内容が有効なユーザー名であるかどうかを確認するコードを書いています。次に、このページが存在するかどうかを確認します-http://api.twitter.com/1/users/ show / value.xml-存在しない場合は、「このTwitterアカウントは存在しません」のように記述します。

これはコードです:

function checkname (name) {
 $.ajax({
 url: "http://api.twitter.com/1/users/show/" + name + ".xml",
 statusCode: {
 404: function() {
 $("#divOfInterest").html("Sorry, " + name + " is not a valid twitter account");}
 }
 });
}

しかし、それは機能せず、理由はよくわかりません。これが私のフィドルです。自分の姿を見ることができます。どんな助けでも大歓迎です。

4

2 に答える 2

2

たとえばChromeのエラーコンソールを見てください。

XMLHttpRequest cannot load http://api.twitter.com/1/users/show/dummy.xml. Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin.

ただし、サーバー上にラッパースクリプトを作成し、そこからTwitter APIを呼び出して、AJAX呼び出しでスクリプトを使用することはできます。

于 2012-09-14T13:16:20.593 に答える
1

サーバー上にphpページを作成し、そのメソッドを使用してAPIにリクエストを送信できます。

https://dev.twitter.com/docs/api/1/get/users/lookup

PHPページ:(check.php)

if (isset($_POST['name'])) {
    $url = "https://api.twitter.com/1/users/lookup.json?screen_name=" . $_POST['name'];
    $content = @file_get_contents($url);

    if (($json_data = json_decode($content, 1)) == NULL) {
        echo 0;
    } else {
        //print_r($json_data);
        if (!empty($json_data[0]['screen_name'])) {
            // user exists
            echo 1;
        }   
    }

    exit;
}

次に、ajaxから呼び出します

<script type="text/javascript">
var dataString = 'name=<?php echo $_GET['name'];?>';
$.ajax({
    type: "POST",
    url: "check.php",
    data: dataString,
    cache: false,
    datatype: 'html',
    success: function(data){
    if (data == '1') {
        alert('user exists');
    } else {
        alert('user does not exist');
    }
    //alert(result);    
    }
});
</script>

同じページにリクエストを送信するには、この方法で変更します。

phpスクリプトをドキュメントの先頭に配置します。

if (isset($_POST['ajax']) && isset($_POST['name'])) {

    PHP code

    exit; // <---- this is very important
}

javascriptで新しい変数を追加しますajax=1

var dataString = 'name=<?php echo $_GET['name'];?>&ajax=1';

とURL

url: "currentpage.php",
于 2012-09-14T13:23:39.523 に答える