0

我正在尝试加载更多按钮。我的目标是调用 ajax 并将响应放在 div 和 textarea 中。如何将响应放在 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

4 回答 4

2

有很多问题。

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

  2. 你已经声明了 data: 两次。

  3. 正如 Dmitry 指出的那样,您可能应该发布此内容。

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

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

于 2013-05-23T15:49:46.743 回答
2

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

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

你可以修改你的成功函数:

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

另外,摆脱那一秒data: {},——它什么也没做。

于 2013-05-23T16:01:36.070 回答
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);
    });

}
于 2013-05-23T16:04:57.600 回答
0

我倾向于在这些情况下使用 jQuery,以使生活更轻松,并使用该$('#yourDiv').append()功能。例如,您可以创建变量var mug;,即一旦填充了您的数据,就可以通过以下方式附加mug到文档中$('#yourDiv').append("<p>"+mug+"</p>);

一个示例- Ajax Twitter API 调用将推文返回到 div 中的特定列表(页面源

希望有帮助!

于 2013-05-23T15:52:15.347 回答