2012-02-13 18 views
0

データを返すPHP Webサービスがあります(ブラウザにURLを入力すると結果が得られます)。 Webサービスからこのデータを取得するにはJavascriptを使用する必要がありますが、Javascriptではそれほど優れていません。私がこれを読んだチュートリアル、サンプル、およびStackOverflowの質問と回答はすべて動作するはずですが、そうではありません。助けてください!JavascriptのWebサービスリクエストが機能しない

<script type="text/javascript"> 

var url = '*working url*'; 
var xmlhttp = null; 
if (window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 
} 
else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } 
else { document.write('Perhaps your browser does not support xmlhttprequests?'); } 

xmlhttp.open('GET', url, true); 
xmlhttp.send(null); 

xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
    var myObj = eval (xmlhttp.responseText); 
    } else { 
    // wait for the call to complete 
    } 
}; 

</script> 

また、私はこれを正しく呼んでいることを確認するのに役立つ必要があります。

<script type="text/javascript"> 
document.write(myObj); 
</script> 
+1

使用jqueryの..... – dynamic

+0

がドキュメントを使用していない:私はからの関数のパラメータ情報を得た
http://api.jquery.com/jQuery.post/

このコードが借りているとjQueryのサイトから修正します.write – epascarello

答えて

1

私は、これは直接あなたの質問に答えていない知っていますが、あなたはJavaScriptを使用して、「大きすぎない」であれば、私はちょうどにまっすぐに行くのをお勧めします:現在、私は問題になる可能性がある、このようにそれを行いますjQueryではなく、下位レベルのオブジェクトを混乱させる。

また、ブラウザ間の互換性に役立ちます。

http://jquery.com/
http://api.jquery.com/category/ajax/

あなたが特に退屈な一日、将来のいくつかの時間を持っている場合は、戻ってと舞台裏で何が起こっているか学ぶことは常に有益です。

これは、(テキスト応答で)のjQueryを使用して簡単なAjaxのポストのようになります。

$.post(
    "test.php", 
    { postValue1: "hello", 
     postValue2: "world!" }, 
    function(data){ 
     alert("Success: " + data); 
    }, 
    "text"); 



(コメントで)2番目の質問に答えるために、コードが正しいに見えるが、おそらくあなたがしています悪い返答を得る。追加情報を取得するために、追加イベントをajax呼び出しに添付することができます。
http://api.jquery.com/jQuery.ajax/

// Assign handlers immediately after making the request, 
// and remember the jqxhr object for this request 
var jqxhr = $.post("example.php", function() { 
    alert("success"); 
}) 
.success(function(data, textStatus, jqXHR) { alert("second success"); }) 
.error(function(jqXHR, textStatus, errorThrown) { alert("error"); }) 
.complete(function(jqXHR, textStatus) { alert("complete"); }); 
+0

OK、jQueryでajax getを使用する場合は、私が見たことから、以下が動作するはずです: ' \t \t \t <スクリプト言語= "javascriptの" タイプ= "テキスト/ javascriptの" SRC = "../のJS/jquery.js "> \t \t \t \t <スクリプト言語=" javascriptの" タイプ= "テキスト/ javascriptの"> \t \t \t $アヤックス({ \t \t \t \tタイプ 'GET'、 \t \t \t \t URL: "インデックス。PHPの、 \t \t \t \t成功:機能(データ){ \t \t \t \t \t警告(データ); \t \t \t } \t \t \t}); \t \t \t '私はここに持ってる問題は、私は返されたデータが届かないということです。テキストのないアラートボックスがあります。私がここで間違っていることを見ることができますか? –

+0

私はそれを考え出した。ありがとう! –

+0

申し訳ありませんが、私はそれをマークしたと思った、推測しないでください!今でもそれを得た –

関連する問題