-3

データ属性を有効なポスト (または取得) データに変換するにはどうすればよいですか?

$('#nav').find('a').click(function(){
    var params = $(this).data();
    $.get({
        type: "get",
        url: "/view/",
        data: params
    });
})

次のエラーが表示されます。

POST http://127.0.0.1/Site1/%5Bobject%20Object%5D/ 404 (NOT FOUND) 
4

4 に答える 4

2

jQuery.param()を使用できます。

$('#nav').find('a').click(function(){
    var params = $(this).data();
    params = $.param(params);
    $.ajax({
        type: "GET"
        url: "/view/",
        data: params
    });
})

編集:

実際の問題は、 $.ajax() のような$.get ()メソッドを使用していることです。

$.get()ajax 設定オブジェクトを受け入れません。パラメータを使用する必要がない場合は、 $.ajax() に変更してください。

jsFiddle デモ

于 2013-05-21T12:55:18.870 に答える
1

私はこれがうまくいくと思います:

$('#nav').find('a').click(function(){
    var params = $(this).data();
    $.get("/view/",params,function(){
        //success callback
    });
})
于 2013-05-21T12:58:31.603 に答える
0

HTML が表示されないと回答が難しくなりますが、次のようなことを試してください。$.post('YourUrl', { paramName : $("elementID").val(), paramName2 : $("#elementId").attr("data")}, function(data){ DoSuccessHere });

于 2013-05-21T12:55:34.733 に答える
-1

jQueryget関数は、データ パラメータとしてオブジェクトを受け取ります。つまり、

$('#nav').find('a').click(function(){
    var params = {
        param1: 'foo',
        param2: 'bar';
    }
    $.get({
        type: 'get',
        url: '/view/',
        data: params
    });
});

この方法で、複数のデータ ソースから複数の値を割り当てることができます。

var params = {
    id: $(this).id(),
    name: $(this).attr('name');
}
于 2013-05-21T12:53:59.990 に答える