0

私はphpファイルで基本的なjquery ajax呼び出しを行っていますが、なぜそれが機能していないのか分かりません。どんな助けでも大歓迎です。Fiebug は、進行中の ajax または XHR アクションを示していないようです。ページを更新せず、単に ajax 呼び出しを実行したい。ありがとう。

JS

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"</script>
<script>
function getData(url_param){
    $.ajax({
        type: 'get',
        url: 'data.php',
        data: {url_param:url_param},      
        success: function(data) {
            $('#data').html(data);        
        }
    });
};

$('#clickMe').click(function(e){
    e.preventDefault();
    getData(2);
});
</script>

HTML:

<div><a id='clickMe' href='data.php?url_param=url_param'>CLICK ME TO RUN PHP</a></div>
<div id="data"></div>  <!-- divto show result -->

PHP:

<?php

if($_GET['url_param']){
    echo "simple ajax call";
} 

?>
4

4 に答える 4

0

まず、関数名のスペルが間違っています ( getGata != getData )。

第二に:

data: {url_param:url_param}

JavaScript 変数url_param をどこかに設定していますか? $.ajaxデータパラメーターは次のようにフォーマットされます。

get/post variable name : get/post variable value

あなたが今持っているように、値をurl_paramに割り当てているようには見えません。

于 2013-04-19T14:20:55.087 に答える
0

onload 関数内でイベントをバインドする必要があります。最も一般的な方法は次のとおりです。

$(document).ready(function(){

  $('#clickMe').click(function(e){
       ...
  });

});

return false;イベントの最後の行に も追加する必要があります。

于 2013-04-19T15:38:33.853 に答える
0

(修正された?) JavaScript により、コードが機能しなくなります。jQuery ソースの山かっこを閉じていないため、次のようにする必要があります。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

コメントの 1 つは、アンカーに href を含めるべきではないと述べていますが、デフォルトを無視したため、これはトリガーされません (ユーザーのブラウザーで JS が有効になっていると仮定します)。

最後に、こう思う

return false;

後に実際に関数内にある必要があります

getData(2);

ただし、デフォルトを無視しているため、アンカーはどこにも移動したりリロードしたりしないでください。

于 2013-09-08T16:54:34.233 に答える
0

jQuery post 関数を使用するだけです。

$.post('data.php',{param1:'your param 1', param2 : 'your param 2'}, function(response){
    //do your operation here. response is what you get from data.php. 'json' spicifies that the response is json type
    $("#data").html(response);
},'json');
于 2013-04-19T14:57:00.677 に答える