In meinem Projekt habe ich mit etwa solchen Code über eine Taste:Rails jQuery 'post' Probleme
<a class="start btn" href=start_process_path(@process.id) id="start">
<i fa class='play'></i>
</a>
und ein jquery Event-Listener haben dafür:
$('.start').click((function(_this) {
return function(e) {
var params;
params = $('form', _this.previewJq).serializeArray();
$.post(e.target.href, params, function(json) {
if (json.error) {
return alert(json.error);
}
});
return false;
};
})(this));
In meiner routes
Datei Ich habe solche Zeilen:
resources :processes do
patch 'start', on: :member
end
Das Problem ist, dass manchmal, wenn ich diesen Knopf klicke, ich mit nichts reagiere. Wenn ich die Konsole in Chrome öffne oder in den Protokollen schaue, kann ich sehen, dass der 404-Fehler besagt, dass ich versuche, eine Postanforderung an die Seite zu senden, die diese Schaltfläche hat. Wenn ich Quellen im Chrome-Browser und nur einen Haltepunkt in einer Zeile mit einer Postanforderung öffne, funktioniert das normalerweise einwandfrei. Aber sobald ich es geschafft habe, Situation zu erfassen, wenn es traurig ist, dass e.tagret.href
Wert undefined
Wert hat (oder etw so ähnlich). Was kann der Grund dafür sein, so zu sein? Warum kann jquery den href-Parameter nicht korrekt erhalten?
Vielen Dank im Voraus!
Es fehlt ein Zitat in "$ ('. Start)". Ist das ein Tippfehler? –
@ HithamS.AlQadheeb Ja, sicherlich ist es ein Tippfehler! Fest. Danke. Das war kein Grund für ein Problem :) – Ngoral
Sie müssen überprüfen, ob das Element HREF-Werte hat oder nicht oder versuchen, undefined zu überprüfen. –