19 messaggi dal 04 maggio 2014
Spero qualcuno possa aiutarmi.
nel seguente codice .js ho commentato jquery-1.5.1-vsdoc.js perchè mi dava errore sul context e cercando in giro ho visto che questo file serve solo per intellisense quindi l'ho tolto, ma ora non sono molto sicura che sia giusto.
La funzione js viene chiamata, ma non viene invocata l'azione del controller. Inizialemente avevo lo stesso problema ma poi avevo capito che era un propblema di libreria...praticamente non l'avevo messa.
Dopo che tutto funzionava ho modificato un paio di cose, ma ho solo diviso un pò il codice, del tipo ho creato un .js, una vista parziale etc..
Cosa può essere, potete aiutarmi?

grazie mille

<script src="@Url.Content("~/Scripts/jquery-1.5.1.js")" type="text/javascript" ></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.js")" type="text/javascript" ></script>
@* <script src="@Url.Content("~/Scripts/jquery-1.5.1-vsdoc.js")" type="text/javascript" ></script>*@
<script src="@Url.Content("~/Scripts/FantaAsta.js")" type="text/javascript" ></script>

function ins_offerta(_id_giocatore) {
var _offerta = $("#txt_" + _id_giocatore).val();
var _id_utente = $("#id_utente").val();
alert(_id_utente);
$.ajax({
type: "POST",
url: "Asta/InsertOfferta",
data: { id_utente: _id_utente, id_giocatore: _id_giocatore, offerta: _offerta },
dataType: "json",
success: function (data) {
if (data.returnValue == -100)
alert("Credito Insufficiente");
else if (data.returnValue == -200)
alert("Errore generico DB");
else {
alert("Offerta inserita");
}
}
});
$("#txt_" + _id_giocatore).attr("disabled", "disabled");
$("#btn_" + _id_giocatore).show();
$("#btn_insert_" + _id_giocatore).hide();
}
19 messaggi dal 04 maggio 2014
ho trovato la soluzione, che ovviamente era banale: era sbagliato l'url del controller

url: "Asta/InsertOfferta",

quella giusta era

url: "../Asta/InsertOfferta",

ma come posso usare una url generica? voglio dire che non voglio essere legata al path anche perchè la stessa function potri utilizzare all'interno di un'altra view e quindi magari con un altro path
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

aleinad ha scritto:

ho trovato la soluzione, che ovviamente era banale: era sbagliato l'url del controller

Consulta spesso la console di sviluppo del browser (tasto F12) per diagnosticare i problemi javascript o di rete. In questo caso avresti visto partire una richiesta e un conseguente errore 404.

aleinad ha scritto:

ma come posso usare una url generica?

Puoi risolverlo in due modi: o usi un URL assoluto, che parta dalla root del tuo sito:
url: "/Asta/InsertOfferta",


Oppure usi l'evento ajaxSend, che si verifica proprio prima che una richiesta ajax venga inviata al server. In quell'occasione avrai modo di correggere l'url in base al percorso della pagina corrente.
Ecco un esempio.
http://snippets.webaware.com.au/snippets/using-jquerys-ajaxsend-event-to-change-an-ajax-request/

Questa seconda soluzione è di certo più elaborata, ma la riporto comunque perché potrebbe tornarti utile se volessi aggiungere altri parametri all'URL, o comunque apportare delle modifiche alla richiesta in sé.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.