Saya memiliki panggilan ajax meneruskan data ke halaman yang kemudian mengembalikan nilai.
Saya telah mengambil panggilan yang berhasil dari halaman tetapi saya telah mengkodekannya sehingga menimbulkan kesalahan dalam asp. Bagaimana saya mengambil kesalahan itu dari jquery?
Sebagai contoh:
cache: false,
url: "addInterview_Code.asp",
type: "POST",
datatype: "text",
data: strData,
success: function (html) {
alert('successful : ' + html);
$("#result").html("Successful");
},
error: function (error) {
**alert('error; ' + eval(error));**
}
Ini sedikit kesalahan yang saya tidak mengerti. Dalam fungsi parameter apa yang harus saya masukkan, sehingga saya kemudian dapat menggunakan pesan kesalahan yang saya angkat di server.
dataType
tidakdatatype
..error
dan.success
menjadi lebih penting karena telah dihapus.Jawaban:
Parameter yang diperlukan dalam
error
fungsi Ajax adalahjqXHR, exception
dan Anda dapat menggunakannya seperti di bawah ini:DEMO FIDDLE
Parameter
jqXHR:
Ini sebenarnya adalah objek kesalahan yang terlihat seperti ini
Anda juga dapat melihat ini di konsol browser Anda sendiri, dengan menggunakan
console.log
di dalamerror
fungsi seperti:Kami menggunakan
status
properti dari objek ini untuk mendapatkan kode kesalahan, seperti jika kami mendapatkan status = 404 ini berarti halaman yang diminta tidak dapat ditemukan. Tidak ada sama sekali. Berdasarkan kode status itu, kami dapat mengarahkan pengguna ke halaman login atau apa pun yang diperlukan logika bisnis kami.pengecualian:
Ini adalah variabel string yang menunjukkan tipe pengecualian. Jadi, jika kita mendapatkan 404 kesalahan,
exception
teks akan menjadi 'kesalahan'. Demikian pula, kita mungkin mendapatkan 'batas waktu', 'batalkan' sebagai teks pengecualian lainnya.Jadi, jika Anda menggunakan jQuery 1.8 atau lebih baru, kami perlu memperbarui logika fungsi keberhasilan dan kesalahan seperti: -
Semoga ini bisa membantu!
sumber
.error
dan.success
menjadi lebih penting karena mereka telah dihapusCoba ini:
Jika Anda ingin memberi tahu frontend Anda tentang kesalahan validasi, coba kembalikan json:
Skrip asp Anda akan kembali:
sumber
Inilah cara Anda mengeluarkan kesalahan asp.
sumber
http://api.jquery.com/jQuery.ajax/
sumber
sumber
Anda menggunakan suatu fungsi
tetapi jquery sebenarnya mencari fungsi dengan tiga parameter:
Anda harus menambahkan dua parameter lagi.
JUGA: silakan lihat semua komentar di atas yang menyebutkan 'usang' :)
sumber
function myMethod (err) { alert(err); }
dan menyebutnya sepertimyMethod ("something is wrong", 500, some_object)
- Ini akan berfungsi tanpa masalah. Sesuai pernyataan Anda, ini hanya akan berfungsi jika metode tanda tangan adalahfunction myMethod (err, status, some_object)
. Lupakan contoh di atas, tanda tangansuccess
acara yang Anda miliki dalam jawaban sebenarnya.success(data, status, xhr)
, tetapi jika Anda hanya membutuhkan hasilnya, kami biasanya mengikatnya seperti.success (data)
dan keduanya berfungsi.Dari jquery.com:
Jika Anda menginginkan penangan global, Anda dapat menggunakan:
sumber