0

したがって、次の構造があるとしましょう。

  <div id='allTempLinkHolder'>
    <div class='tempLink'>Value</div>
    <div class='tempLink'>Value 2</div>
    <div class='tempLink'>Value 3</div>
 </div>

たとえば、 fetch.php に投稿するなど、post ajax を使用して .tempLink のさまざまな値をすべて送信するにはどうすればよいですか? ありがとう!

4

6 に答える 6

1
var values=[];
$(".tempLink").each(function(){
    values.push($(this).text());
});

$.post({
    url: 'yourPhpScript.php',
    data: {values:values},
    success: function(data) {
        console.log(data);
    }
});

あなたのphp script使用で

$arr = $_POST['values'];

$value1=$arr[0]; // value
$value2=$arr[1]; // value1
$value2=$arr[2]; // value3
于 2012-06-19T04:55:19.463 に答える
1
var params;

$(".tempLink").each(function(){
  params=$.extend({}, params,   { "tmplink[]" , $(this).text() }  );
});

$.ajax({
    type: "POST",
    url: "url",
    data: params,
    success: function() {
      //Success code here
    }
});

PHPでは、配列で受け取ります$_POST["tmplink"]

于 2012-06-19T03:55:10.920 に答える
1

これを試して:

http://jsfiddle.net/htKRf/3/

var links = []

// Put all the tempLinks into an array. 
$.each($('.tempLink'), function (index, element) {
    links.push($(element).text());    
});

// Post it to the url.
$.post('fetch.php', JSON.stringify(links), function() { console.log("SUCCESS"); });

</p>

于 2012-06-19T03:55:35.130 に答える
1

単純に配列を送信したい場合:

var values = $.map($('.tempLink'), function(el, idx) {
    return $(el).text()
})

$.post('fetch.php', { values: values}, function(data) {
        /* do something with return data*/
})
于 2012-06-19T03:58:08.237 に答える
0

divごとに個別のAjax呼び出し

 $("div.tempLink").each(function(index, elem) {
    $.ajax({
        url: "my url" + "?param=" + this.text(),
        success: function() {...
        }
    });
});​

または値の配列を使用した単一の呼び出し

var values = new Array();
$("div.tempLink").each(function(index, elem) {
    values.push(this.text());
});

$.ajax({
    type: "POST",
    url: "my url",
    data: JSON.stringify(values),
    contentType: "application/json; charset=utf-8",
    success: function() {...
    }
});​

</ p>

于 2012-06-19T03:50:59.247 に答える
0

まず、jQuery クラス セレクターを使用して値を適切なデータ構造に収集します。あなたがそれをどのようにやりたいのかわからなかったので、JavaScript マップを使用して、元のリストの位置を text の値にリンクしました{"link1":"value1","link2":"value2",...}

var map={};
$(".tempLink").each(function(index) {
    map["tempLink"+index] = $(this).text();
});

$.ajax の使用法と構文を理解するには、jquery ajax api ref を参照してください。

$.ajax({
    type: "POST",
    url: "fetch.php",
    data: JSON.stringify(map),
    dataType: "...", //The type of data you're expecting the server to respond with
    contentType: "application/json; charset=utf-8",
    success: function(data, status, jqXHR) {},
    error: function(jqXHR, status, error) {}
});​

ajax 呼び出しが返されると、成功した場合は成功のコールバックが発生し、それ以外の場合はエラーが発生します。これらを使用して、サーバーが応答するデータを処理したり、リクエストが失敗したことをユーザーに通知したりできます。

于 2012-06-19T04:03:23.533 に答える