jQuery ベースの POST リクエストを機能させるのに問題がありました。
20 行目で次のエラーがスローされます。
キャッチされていない SyntaxError: 予期しない識別子です。
ボタンは PHP で生成され、次のようになります。
<a id="df-save-218281"
class="button js-saved-search"
href="/realestate/addsearch/?s=-List+Price&Town_State=Burlington+VT&Description%5Blikeany%5D=five+sisters&State=VT&Status%5Bany%5D=ACT%2CUAG%2CPCG%2CPEN%2CRNT%2CA%2CK%2CL%2CO%2CR%2CT"
data-alt-href="/realestate/removesearch/218281/"
data-alt-text="Delete Search"
data-toggle-class="remove">
<span>Save Your Search</span>
</a>
そしてJavascriptはここにあります:
$(function () {
$('.js-saved-search').click(function(event) {
console.log('clicked');
event.preventDefault();
var jsSavedSearch = $(this),
queryString = decodeURIComponent(jsSavedSearch.attr('href')),
url = jsSavedSearch.attr('href'),
name = jsSavedSearch.text();
id = jsSavedSearch.attr('id').replace(/\D/g, '');
console.log(id);
console.log(name);
console.log(queryString);
var posting = $.post( queryString, { SearchName: name } );
posting.done(function( data ) {
console.log(data);
console.log(jsSavedSearch.attr('data-alt-text').replace(/\/\d+\//g, data));
console.log(jsSavedSearch.text());
console.log(jsSavedSearch.attr('data-alt-href'));
console.log(jsSavedSearch.attr('href'));
newText = jsSavedSearch.attr('data-alt-text');
newAltText = jsSavedSearch.text();
newHref = jsSavedSearch.attr('data-alt-href');
newAltHref = jsSavedSearch.attr('href');
console.log(newAltText);
console.log(newText);
console.log(newAltHref);
console.log(newHref);
jsSavedSearch.attr('data-alt-text', newAltText);
jsSavedSearch.text(newText);
jsSavedSearch.attr('data-alt-href', newAltHref);
jsSavedSearch.attr('href', newHref);
});
})
});
編集: この正規表現に問題があるようです。JavaScript 正規表現で値をエスケープする方法がわかりません。
newText = jsSavedSearch.attr('data-alt-text').replace(/\/\d+/\/g, data)