如何调用ajax并在div和textarea中输出其结果?

时间:2013-05-23 15:44:04

标签: javascript jquery ajax

我正在尝试加载更多按钮。我的目标是调用ajax并将响应放在div和textarea.how中以将响应放在div和textarea中?目前响​​应仅显示在消息框中,但我想将结果附加到div。

* 注意: *响应是process.php生成的html超链接,我希望这些超链接放在div中

<html>
<head>
 <script>

//initialize page number to 1 default
   var pagenumber=1;

//pass pagenumber to function to fetch correct page records

function getResult(pagenumber){
     alert('me here'+pagenumber);


 $.ajax(
{

    type: 'GET',
    url: './process.php?ID=1234&type=1&moviePath=1234/1212/Love&title=Love&page='+pagenumber,
    data: $("#myform").serialize(),

     data: {

     },
            success: function (good)
            {
              //handle success

                  alert(good)
            },
            failure: function (bad)
            {
               //handle any errors

                alert(bad)

            }



});

//after every call increment page number value
    pagenumber++;
}// end of getResult Function



function addMoreItems()
{
pagenumber++;
getResult(pagenumber);

}
</script>
</head>

<body>



<div id="myDiv"></div>

<div class="MoreButtonSection">      
    <div class="RedButton">
      <span class="LeftEnd"></span>
      <span class="Centre"><a href="javascript:void(0);" onclick="addMoreItems();" title="See more">see more</a></span>
      <span class="RightEnd"></span>
    </div>
  </div>
<br>


<br>
 <form id="myform" name="myform" action="./2.php?Id=&title=" method="post">
    <td>
    <textarea rows="7" cols="15" name="outputtext" style="width: 99%;"></textarea>
    </td>
    </form>
</html>

4 个答案:

答案 0 :(得分:2)

有很多问题。

  1. 没有迹象表明你已经包含了jQuery。

  2. 您已声明数据:两次。

  3. 正如德米特里所指出的,你应该发布这个。

  4. 最后,你在哪里实际调用getResult()?它看起来不像是被调用。

  5. 此外,值得注意的是,从jQuery 1.8及更高版本开始,.success()和.failure()现已弃用,并已替换为.done()和.fail()。 http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:2)

你说你的结果只显示在消息框中,而不是提醒它,只需追加即可。假设下面的div是您想要附加的内容:

<div id="myDiv"></div>

您可以修改您的成功功能:

success: function (good)
    {
          //handle success
          $("#myDiv").append(good);
    },

此外,摆脱那第二个data: {}, - 它什么都不做。

答案 2 :(得分:0)

我倾向于在这些情况下使用jQuery来简化生活,并使用$('#yourDiv').append()函数。例如,您可以创建变量,即var mug;,一旦填充了您的数据mug

,就会将$('#yourDiv').append("<p>"+mug+"</p>);附加到文档中

一个example - Ajax Twitter API调用,它将推文返回到div中的特定列表(page source

希望有所帮助!

答案 3 :(得分:0)

我想我得到的是你要做的但是那段代码很乱。正如@David L所说,你需要jQuery。但是,您不需要您编写的所有代码。它可以通过几行简单的方式完成。请用正确的元素选择器替换实际的元素选择器。

function addMoreItems() {
    pagenumber++;

    // get form values
    var params = $('#myform').serializeArray();

    // add predefined values
    params.push({name: 'ID', value: '1234'});
    params.push({name: 'type', value: '1'});
    params.push({name: 'moviePath', value: '1234/1212/Love'});
    params.push({name: 'title', value: 'Love'});
    params.push({name: 'page', value: pagenumber});

    // do request and insert response from server in div with id='divresults'
    $.get('process.php', params, function(data) {
        $('#divResults').append(data);
    });

}