私たちのサイトでは、<body>
タグはさまざまなdata-*="*"
属性を保持しています:
<body data-someData="someValue" data-someOtherData="someOtherValue">
他のページでこれらの属性の値を取得する必要があります。そのため、jQuery AJAX$.get
を使用してページの HTML を取得しているため、これらのデータ属性を取得しています。
私の現在のスクリプト:
// The call (used on different pages)
var stock = getProductData('stock', '/some/product/url');
// The "GET" function
function getProductData(type, url) {
var jqxhr = $.get(url, function( data ) {
console.log('Data found!');
var $body = $(data).find('body');
var val = $body.data('stock');
console.log('Returning Value: "' + val + '"');
return val;
}).done(function(){
// Request is complete
console.log('getProductData Finished...');
}).fail(function(){
console.error( 'getProductData: ' + type + ' = FAIL / URL: ' + url);
});
}
だから問題は何ですか?さて、 は$(data).find('body').data('stock');
として戻ってきますundefined
。も試し$(data).find('body').attr('data-stock');
ましたが、同じものが返されました。
では、どのように body タグのdata-someData="someValue"
属性値を返すことができます$.get
か?
上記data-stock
の例で使用されている属性は、私の製品ページでは次のようになっています。
<body data-stock="3">
編集:重複ではありません:この質問は、要素の特定の属性の解析に特に言及しています。AJAX を使用してデータを返す方法を尋ねているわけではありません。