jQuery ajax - ajax() ਮੈਥਡ
ਮਾਡਲ
AJAX ਨਾਲ ਇੱਕ ਪਾਠ ਲੋਡ ਕਰੋ:
jQuery ਕੋਡ:
$(document).ready(function(){ $("#b01").click(function(){ htmlobj=$.ajax({url:"/jquery/test1.txt",async:false}); $("#myDiv").html(htmlobj.responseText); }); });
HTML ਕੋਡ:
<div id="myDiv"><h2>Let AJAX change this text</h2></div> <button id="b01" type="button">Change Content</button>
ਪਰਿਭਾਸ਼ਾ ਅਤੇ ਵਰਤੋਂ
ajax() ਮੰਥਨ HTTP ਰਿਕਾਰਡ ਰਾਹੀਂ ਦੂਰ ਸਥਿਤ ਡਾਟਾ ਲੋਡ ਕਰਦਾ ਹੈ。
ਇਹ ਮੰਥਨ ਅਜਿਹਾ ਹੈ ਜੋ jQuery ਦੇ ਅੰਦਰੂਨੀ AJAX ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਹੈ।$.get, $.post ਆਦਿ ਵਰਗੇ ਸਰਲ ਉੱਚ ਪੱਧਰੀ ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਹਨ।$.ajax() ਆਪਣੇ ਬਣਾਈ ਰਖੇ XMLHttpRequest ਆਬਜੈਕਟ ਵਾਪਸ ਦਿੰਦਾ ਹੈ।ਜ਼ਿਆਦਾਤਰ ਸਥਿਤੀਆਂ ਵਿੱਚ ਤੁਸੀਂ ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਸਿੱਧੇ ਸੰਸ਼ੋਧਿਤ ਨਹੀਂ ਕਰਦੇ ਹੋ, ਜਦੋਂ ਤੁਸੀਂ ਬਿਨਾਂ ਵਿਕਲਪਾਂ ਦੇ ਵਿਸ਼ੇਸ਼ ਵਿਕਲਪਾਂ ਦੀ ਸਮਰੱਥਾ ਪ੍ਰਾਪਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਹੀ ਤੁਸੀਂ ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਦੇ ਹੋ。
ਸਭ ਤੋਂ ਸਰਲ ਸਥਿਤੀ ਵਿੱਚ $.ajax() ਕੋਈ ਪੈਰਾਮੀਟਰ ਦੇ ਬਿਨਾ ਸਿੱਧੇ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਧਿਆਨ:ਸਾਰੇ ਵਿਕਲਪ $.ajaxSetup() ਫੰਕਸ਼ਨ ਰਾਹੀਂ ਗਲੋਬਲ ਸੈਟ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
ਗਰੰਥ
jQuery.ajax([settings]
ਪੈਰਾਮੀਟਰ | ਵਰਣਨ |
---|---|
settings |
ਵਿਕਲਪਿਤ।AJAX ਰਿਕਾਰਡ ਸੈਟਿੰਗ ਦੇ ਕੀ-ਮੁੱਲ ਕੋਲੈਕਸ਼ਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਕੋਈ ਵੀ ਵਿਕਲਪ ਦਾ ਮੂਲ ਮੁੱਲ ਸੈਟ ਕਰ ਸਕਦੇ ਹੋ $.ajaxSetup() ਰਾਹੀਂ। |
ਪੈਰਾਮੀਟਰ
- options
-
ਟਾਈਪ: Object
ਵਿਕਲਪਿਤ।AJAX ਰਿਕਾਰਡ ਸੈਟਿੰਗ।ਸਾਰੇ ਵਿਕਲਪ ਵਿਕਲਪਿਤ ਹਨ।
- async
-
ਤਰੀਕਾ: Boolean
ਮੂਲ ਮੁੱਲ: true।ਮੂਲ ਸੈਟਿੰਗ ਵਿੱਚ, ਸਾਰੇ ਰਿਕਾਰਡ ਅਸਿੰਕਰਨ ਰਿਕਾਰਡ ਹਨ।ਜੇਕਰ ਤੁਸੀਂ ਸਿੰਕਰਨ ਰਿਕਾਰਡ ਭੇਜਣਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਇਹ ਵਿਕਲਪ false ਸੈਟ ਕਰੋ।
ਧਿਆਨ ਦੇਵੋ ਕਿ ਸਿੰਕਰਨ ਰਿਕਾਰਡ ਬਰਾਉਜ਼ਰ ਨੂੰ ਬੰਧ ਕਰ ਦਿੰਦਾ ਹੈ, ਬਾਕੀ ਉਪਰਾਲਾਂ ਨੂੰ ਰਿਕਾਰਡ ਪੂਰਾ ਹੋਣ ਤੱਕ ਰੁਕਾਵਟ ਹੈ।
- beforeSend(XHR)
-
ਤਰੀਕਾ: Function
ਜੇਕਰ ਤੁਸੀਂ HTTP ਮੁੱਖ ਹੈੱਡਰ ਜੋੜਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ XMLHttpRequest ਆਬਜੈਕਟ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਸਕਦੇ ਹੋ ਜਦੋਂ ਤੁਸੀਂ ਰਿਕਾਰਡ ਜਾਣਦੇ ਹੋ ਤੁਸੀਂ beforeSend(XHR) ਫੰਕਸ਼ਨ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦੇ ਹੋ。
XMLHttpRequest ਆਬਜੈਕਟ ਇੱਕੋ ਮਾਤਰ ਪੈਰਾਮੀਟਰ ਹੈ。
ਇਹ ਇੱਕ Ajax ਈਵੈਂਟ ਹੈ।ਜੇਕਰ ਤੁਸੀਂ false ਵਾਪਸ ਕਰਦੇ ਹੋ ਤਾਂ ਇਹ ਅਜਿਹਾ ajax ਰਿਕਾਰਡ ਰੱਦ ਕਰ ਸਕਦੇ ਹੋ।
- cache
-
ਤਰੀਕਾ: Boolean
ਮੂਲ ਮੁੱਲ: true،dataType ਜਦੋਂ script ਅਤੇ jsonp ਹੋਵੇ ਤਾਂ ਮੂਲ ਮੁੱਲ false ਹੁੰਦਾ ਹੈ।false ਸੈਟ ਕਰਨ ਨਾਲ ਇਹ ਪੰਨਾ ਕੈਚ ਨਹੀਂ ਹੋਵੇਗਾ。
jQuery 1.2 ਨਵੀਂ ਫੰਕਸ਼ਨ.
- complete(XHR, TS)
-
ਤਰੀਕਾ: Function
ਬੰਦ ਹੋਣ ਵਾਲੀ ਬੱਕ ਫੰਕਸ਼ਨ (ਸੂਚਨਾ ਸਫਲ ਹੋਣ ਜਾਂ ਨਹੀਂ ਹੋਣ ਦੇ ਬਾਅਦ ਵੀ ਬੱਕ ਫੰਕਸ਼ਨ ਚਲਾਇਆ ਜਾਵੇਗਾ)
ਪੈਰਾਮੀਟਰ: XMLHttpRequest ਆਬਜੈਕਟ ਅਤੇ ਸੂਚਨਾ ਟਾਈਪ ਦੇ ਵਰਣਨਕਾਰੀ ਸਟ੍ਰਿੰਗ
ਇਹ ਇੱਕ Ajax ਈਵੈਂਟ ਹੈ。
- contentType
-
ਤਰੀਕਾ: String
ਮੂਲ ਮੁੱਲ: "application/x-www-form-urlencoded"।ਸਰਵਰ ਨੂੰ ਸੂਚਨਾ ਭੇਜਣ ਦੇ ਸਮੇਂ ਸਮੱਗਰੀ ਕੋਡਿੰਗ ਟਾਈਪ
ਮੂਲ ਮੁੱਲ ਮਿਸਾਲ ਮਾਤਰਾ ਦੇ ਲਈ ਪ੍ਰਾਪਤ ਹੈ।ਤੁਸੀਂ ਸਪੱਸ਼ਟ ਰੂਪ 'ਚ content-type ਨੂੰ $.ajax() ਵਿੱਚ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹੋ ਤਾਂ ਉਹ ਸਰਵਰ ਨੂੰ ਭੇਜਿਆ ਜਾਵੇਗਾ (ਭਾਵੇਂ ਕਿ ਕੋਈ ਦਾਤਾ ਭੇਜਿਆ ਨਾ ਹੋਵੇ)。
- context
-
ਟਾਈਪ: Object
ਇਹ ਆਬਜੈਕਟ Ajax ਸਬੰਧੀ ਬੱਕ ਫੰਕਸ਼ਨਾਂ ਦੇ ਸਥਾਨ ਨੂੰ ਸੈਟ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।ਯਾਨੀ ਕਿ ਬੱਕ ਫੰਕਸ਼ਨ ਵਿੱਚ this ਨੂੰ ਇਸ ਆਬਜੈਕਟ ਵੱਲ ਦਿਸਾਇਆ ਜਾਵੇ (ਜੇਕਰ ਇਹ ਪੈਰਾਮੀਟਰ ਨਾ ਦਿੱਤਾ ਜਾਵੇ ਤਾਂ this ਅਜਿਹੇ ਜਿਵੇਂ ਕਿ jQuery.ajax ਵਾਲੇ ਵਿੱਚ ਪਸੰਦ ਕੀਤੇ ਗਏ options ਪੈਰਾਮੀਟਰ ਵੱਲ ਦਿਸੇਗਾ)।ਉਦਾਹਰਣ ਵਜੋਂ ਇੱਕ DOM ਤੱਤ ਨੂੰ context ਪੈਰਾਮੀਟ ਵਜੋਂ ਨਿਰਦੇਸ਼ਿਤ ਕਰਨ ਦੇ ਸਮੇਂ, ਇਸ ਤੱਤ ਨੂੰ success ਬੱਕ ਫੰਕਸ਼ਨ ਦਾ ਸਥਾਨ ਸੈਟ ਕੀਤਾ ਜਾਵੇਗਾ。
ਅਜਿਹਾ ਕਰਕੇ:
$.ajax({ url: "test.html", context: document.body, success: function(){ $(this).addClass("done"); }});
- data
-
ਤਰੀਕਾ: String
ਸਰਵਰ ਨੂੰ ਭੇਜੇ ਗਏ ਦਾਤਾ।ਆਪਣੇ ਹੀ ਹੋਰ ਸ਼ਬਦਕੋਸ਼ ਫਾਰਮੈਟ ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ ਜਾਵੇਗਾ।GET ਰਿਕਾਰਡ ਵਿੱਚ URL ਦੇ ਬਾਅਦ ਜੋੜ ਦਿੱਤਾ ਜਾਵੇਗਾ।processData ਵਿਸ਼ੇਸ਼ਤਾ ਦੀ ਪ੍ਰਕਾਸ਼ਨ ਨੂੰ ਪ੍ਰਤੀਬੰਧਿਤ ਕਰਨ ਲਈ ਵੇਖੋ।ਮਿਸਾਲ ਕੇਵਲ ਕੀ/ਮੁੱਲ ਫਾਰਮੈਟ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।ਜੇਕਰ ਇਹ ਇੱਕ ਸਰਗਰਮੀ ਹੈ ਤਾਂ jQuery ਆਪਣੇ ਹੀ ਨਾਮ ਲਈ ਵੱਖ-ਵੱਖ ਮੁੱਲਾਂ ਲਈ ਨਾਮ ਬਣਾਵੇਗਾ।ਜਿਵੇਂ {foo:["bar1", "bar2"]} ਵਿੱਚ '&foo=bar1&foo=bar2' ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ ਜਾਵੇਗਾ。
- dataFilter
-
ਤਰੀਕਾ: Function
Ajax ਵਾਲੇ ਮੂਲ ਦਾਤੇ ਲਈ ਪ੍ਰਿਪ੍ਰੋਸੈਸਿੰਗ ਫੰਕਸ਼ਨ ਦੀ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਾਂ:ਪੈਰਾਮੀਟਰਾਂ: data ਹੈ Ajax ਵਾਲੇ ਮੂਲ ਦਾਤਾ, type ਹੈ jQuery.ajax ਦੇ ਸਮੇਂ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ dataType ਪੈਰਾਮੀਟਰ।ਫੰਕਸ਼ਨ ਵਾਲੀ ਮੁੱਲ ਜੇਕਰੀ ਜੇਕਰੀ jQuery ਵੱਲੋਂ ਹੋਰ ਪ੍ਰੋਸੈਸ ਕੀਤੀ ਜਾਵੇਗੀ。
- dataType
-
ਤਰੀਕਾ: String
ਅਕਾਲੀ ਸਰਵਰ ਵਾਲੇ ਦਾਤਾ ਟਾਈਪ ਦੀ ਉਮੀਦ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।ਜੇਕਰ ਕੋਈ ਵਿਸ਼ੇਸ਼ ਨਾ ਦਿੱਤਾ ਜਾਵੇ ਤਾਂ jQuery ਆਪਣੇ ਹੀ ਹਾਰਟ ਪੈਕ ਦੇ MIME ਸੂਚਨਾ ਦੇ ਅਧਾਰ 'ਤੇ ਸਮਾਜਿਕ ਨਿਰਣਾਇਕ ਹੋਵੇਗਾ, ਜਿਵੇਂ ਕਿ XML MIME ਟਾਈਪ ਨੂੰ XML ਮਾਨਿਆ ਜਾਵੇਗਾ।ਇਸ 1.4 ਵਿੱਚ JSON ਇੱਕ ਜਾਵਾਸਕ੍ਰਿਪਟ ਆਬਜੈਕਟ ਬਣਾਵੇਗਾ, ਅਤੇ script ਇਸ ਸਕ੍ਰਿਪਟ ਨੂੰ ਚਲਾਵੇਗਾ।ਬਾਅਦ ਵਿੱਚ ਸਰਵਰ ਤੋਂ ਵਾਪਸ ਆਉਣ ਵਾਲਾ ਦਾਤਾ ਇਸ ਮੁੱਲ ਦੇ ਅਧਾਰ 'ਤੇ ਵਿਵਾਦ ਕਰਕੇ, ਪਿਛਲੇ ਬੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਪਸੰਦ ਕੀਤਾ ਜਾਵੇਗਾ।ਉਪਯੋਗੀ ਮੁੱਲ:
- "xml": XML ਦਸਤਾਵੇਜ਼ ਲਿਆਉਂਦਾ ਹੈ; ਜੂਨੀਅਰ ਦੁਆਰਾ ਹੱਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
- "html": ਪ੍ਰਾਣੀ ਟੈਕਸਟ HTML ਸੂਚਨਾ ਲਿਆਉਂਦਾ ਹੈ; ਸ਼ਾਮਿਲ script ਟੈਗ ਜਦੋਂ dom ਵਿੱਚ ਜੋੜਿਆ ਜਾਵੇਗਾ ਤਾਂ ਚਲਾਇਆ ਜਾਵੇਗਾ。
- "script": ਪ੍ਰਾਣੀ ਟੈਕਸਟ ਜਾਵਾਸਕ੍ਰਿਪਟ ਕੋਡ ਲਿਆਉਂਦਾ ਹੈ।ਨਹੀਂ ਸਵੈਚਾਲਿਤ ਰੂਪ ਵਿੱਚ ਨਤੀਜੇ ਨੂੰ ਕੈਚ ਕਰੇਗਾ।ਜਿਵੇਂ "cache" ਪੈਰਾਮੀਟਰ ਸੈਟ ਨਹੀਂ ਕੀਤਾ ਹੈ ਤਾਂ ਹੀ।ਨੋਟ: ਦੂਰ ਦੇ ਰਿਕਾਰਡ ਦੇ ਸਮੇਂ (ਇੱਕੋ ਖੇਤਰ ਵਿੱਚ ਨਹੀਂ), ਸਾਰੇ POST ਰਿਕਾਰਡ ਨੂੰ GET ਰਿਕਾਰਡ ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ ਜਾਵੇਗਾ (ਕਿਉਂਕਿ DOM ਦੇ script ਟੈਗ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਵੇਗੀ)。
- "json": JSON ਸਮਾਚਾਰ ਲਿਆਉਂਦਾ ਹੈ。
- "jsonp": JSONP ਫਾਰਮੈਟ।JSONP ਫਾਰਮੈਟ ਵਿੱਚ ਫੰਕਸ਼ਨ ਕੁਸ਼ਲ ਕਰਨ ਲਈ ਜਦੋਂ "myurl?callback=?" ਵਰਗੇ ਫੰਕਸ਼ਨ ਕੁਸ਼ਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ jQuery ਸਵੈਚਾਲਿਤ ਰੂਪ ਵਿੱਚ ? ਨੂੰ ਸਹੀ ਫੰਕਸ਼ਨ ਨਾਮ ਨਾਲ ਬਦਲ ਦੇਵੇਗਾ ਤਾਂ ਕਿ ਰਿਕਾਰਡ ਫੰਕਸ਼ਨ ਚਲਾਇਆ ਜਾ ਸਕੇ。
- "text": ਪ੍ਰਾਣੀ ਟੈਕਸਟ ਸਟ੍ਰਿੰਗ ਲਿਆਉਂਦਾ ਹੈ
- error
-
ਤਰੀਕਾ: Function
ਮੂਲਤਵੀ ਮੁੱਲ: ਸਵੈਚਾਲਿਤ ਜਾਂਚ (xml ਜਾਂ html)।ਬੇਨਤੀ ਫੇਲ੍ਹ ਦੇ ਸਮੇਂ ਇਹ ਫੰਕਸ਼ਨ ਬੁਲਾਇਆ ਜਾਵੇਗਾ。
ਇਸ ਵਿੱਚ ਤਿੰਨ ਪੈਰਾਮੀਟਰ ਹਨ: XMLHttpRequest ਆਬਜੈਕਟ, ਗਲਤੀ ਸੂਚਨਾ, (ਵਿਕਲਪਿਤ) ਕੈਪਚਰਡ ਅਪਰੇਸ਼ਨ ਆਬਜੈਕਟ。
ਯਦੀ ਗਲਤੀ ਆਈ ਹੈ ਤਾਂ ਗਲਤੀ ਸੂਚਨਾ (ਦੂਜਾ ਪੈਰਾਮੀਟਰ) null ਦੇ ਇਲਾਵਾ "timeout", "error", "notmodified" ਅਤੇ "parsererror" ਹੋ ਸਕਦੀ ਹੈ。
ਇਹ ਇੱਕ Ajax ਈਵੈਂਟ ਹੈ。
- global
-
ਤਰੀਕਾ: Boolean
ਕੀ ਸਰਵਰ ਦੇ ਆਜ਼ਾਦੀ ਸਮਾਰੋਹ ਨੂੰ ਟ੍ਰਿਗਰ ਕਰੇ।ਮੂਲਤਵੀ ਮੁੱਲ: true।false ਸੈਟ ਕਰਨ ਨਾਲ ਸਰਵਰ ਦੇ ਆਜ਼ਾਦੀ ਸਮਾਰੋਹ ਨੂੰ ਟ੍ਰਿਗਰ ਨਹੀਂ ਕਰੇਗਾ, ਜਿਵੇਂ ajaxStart ਜਾਂ ajaxStop ਵਰਗੇ ਆਜ਼ਾਦੀ ਸਮਾਰੋਹ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ。
- ifModified
-
ਤਰੀਕਾ: Boolean
ਸਿਰਫ ਸਰਵਰ ਵਿੱਚ ਸਮਾਚਾਰ ਬਦਲਣ ਦੇ ਸਮੇਂ ਨਵੇਂ ਸਮਾਚਾਰ ਲੈਣਾ।ਮੂਲਤਵੀ ਮੁੱਲ: false।HTTP ਪੈਕ Last-Modified ਹੈੱਡ ਜਾਂ ਤਾਂ ਜਾਂਚ ਕਰਦਾ ਹੈ।ਜੂਨੀਅਰ 1.4 ਵਿੱਚ ਉਹ ਸਰਵਰ ਵੱਲੋਂ ਸੁਝਾਏ 'etag' ਨੂੰ ਵੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਸਮਾਚਾਰ ਬਦਲ ਨਹੀਂ ਹੋਇਆ ਹੈ।
- jsonp
-
ਤਰੀਕਾ: String
ਇੱਕ jsonp ਰਿਕਾਰਡ ਵਿੱਚ ਰਿਕਾਰਡ ਨਾਮ ਮੁੜ ਲਿਖੋ।ਇਹ ਮੁੱਲ "callback=?" ਵਰਗੇ GET ਜਾਂ POST ਰਿਕਾਰਡ ਵਿੱਚ URL ਪੈਰਾਮੀਟਰਾਂ ਵਿੱਚ "callback" ਭਾਗ ਦੀ ਥਾਂ ਵਾਲਾ ਉਪਯੋਗ ਕਰਦਾ ਹੈ,ਜਿਵੇਂ {jsonp:'onJsonPLoad'} ਸਰਵਰ ਨੂੰ "onJsonPLoad=?" ਭੇਜੇਗਾ。
- jsonpCallback
-
ਤਰੀਕਾ: String
jsonp ਮੰਗ ਲਈ ਇੱਕ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਦਾ ਨਾਮ ਸੈਟ ਕਰੋ।ਇਹ ਮੁੱਲ jQuery ਵੱਲੋਂ ਸਵੈਚਾਲਿਤ ਰੂਪ ਵਿੱਚ ਜਨਮਿਆ ਜਾਣ ਵਾਲਾ ਰੰਗਮੰਡਲ ਫੰਕਸ਼ਨ ਦੀ ਥਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਵੇਗਾ।ਇਹ ਮੁੱਲ ਮੁੱਖ ਤੌਰ 'ਤੇ ਜੇਕੀਵੇਲੀ ਫੰਕਸ਼ਨ ਦਾ ਨਾਮ ਵਿਸ਼ੇਸ਼ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਕਿ ਮੰਗਾਂ ਦਾ ਪ੍ਰਬੰਧ ਕਰਨਾ ਹੋਰ ਅਸਾਨ ਹੋ ਸਕੇ, ਅਤੇ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਅਤੇ ਗਲਤੀ ਪ੍ਰਬੰਧਨ ਦੀ ਸੁਵਿਧਾ ਪ੍ਰਦਾਨ ਕਰੇ।ਤੁਸੀਂ ਜਦੋਂ ਬਰਾਉਜ਼ਰ ਵੱਲੋਂ GET ਮੰਗ ਨੂੰ ਕੈਸ਼ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਇਸ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਦਾ ਨਾਮ ਸੈਟ ਕਰ ਸਕਦੇ ਹੋ。
- password
-
ਤਰੀਕਾ: String
HTTP ਪਰਿਚਯ ਮੰਗ ਦੇ ਜਵਾਬ ਵਾਸਤੇ ਵਰਤੇ ਜਾਣ ਵਾਲਾ ਪਾਸਵਰਡ
- processData
-
ਤਰੀਕਾ: Boolean
ਮੂਲਤਵੀ ਮੁੱਲ: true।ਮੂਲਤਵੀ ਕਿਸਮ 'ਤੇ, ਜਦੋਂ data ਚੋਣ ਦੇ ਅਧਾਰ 'ਤੇ ਇੱਕ ਅਧਾਰਿਤ ਜਾਂ ਕਿਸੇ ਪਾਠ ਦੇ ਸਮਾਨ ਨਹੀਂ ਹੋਣ ਵਾਲਾ ਆਪਣਾ ਅਧਾਰ ਹੈ, ਤਾਂ data ਚੋਣ ਦੀ ਮੂਲਤਵੀ ਕਿਸਮ "application/x-www-form-urlencoded" ਨਾਲ ਮਿਲਾਇਆ ਜਾਵੇਗਾ।ਜਿਸ ਦੇ ਮੁੱਲ ਵਿੱਚ DOM ਟ੍ਰੀ ਜਾਂ ਹੋਰ ਟਰਾਂਸਫਾਰਮਡ ਨਹੀਂ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ false ਸੈਟ ਕਰੋ।
- scriptCharset
-
ਤਰੀਕਾ: String
ਜਦੋਂ ਮੰਗ ਦਾ dataType "jsonp" ਜਾਂ "script" ਹੋਵੇ ਅਤੇ type "GET" ਹੋਵੇ ਤਾਂ ਸ਼ਕਤੀਸ਼ਾਲੀ ਰੂਪ ਵਿੱਚ charset ਸੁਧਾਰਨ ਲਈ ਵਰਤਿਆ ਜਾਵੇਗਾ।ਆਮ ਤੌਰ 'ਤੇ ਸਥਾਨਕ ਅਤੇ ਦੂਰਸਥ ਸਮੱਗਰੀ ਦੇ ਕੋਡੇਕਿੰਗ ਵਿੱਚ ਅੰਤਰ ਹੋਣ ਤੇ ਹੀ ਇਸ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ。
- success
-
ਤਰੀਕਾ: Function
ਮੰਗ ਸਫਲ ਹੋਣ ਦੇ ਬਾਅਦ ਦੋਵੇਂ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ
ਪੈਰਾਮੀਟਰ: ਸਰਵਰ ਵੱਲੋਂ ਵਾਪਸ ਕੀਤਾ ਜਾਣ ਵਾਲਾ ਅਤੇ dataType ਪੈਰਾਮੀਟ ਦੇ ਅਧਾਰ 'ਤੇ ਹੋਰ ਪ੍ਰਕਿਰਿਆ ਕੀਤਾ ਜਾਣ ਵਾਲਾ ਡਾਟਾ; ਸਥਿਤੀ ਦੇ ਵਰਣਨਕਾਰੀ ਸਟਰਿੰਗ。
ਇਹ ਇੱਕ Ajax ਈਵੈਂਟ ਹੈ。
- traditional
-
ਤਰੀਕਾ: Boolean
ਤੁਸੀਂ ਯਾਦਰਿਕ ਮੁੱਦੇ ਵਿੱਚ ਪਰੰਪਰਾਗਤ ਤਰੀਕੇ ਨਾਲ ਡਾਟਾ ਸੀਕੁਲੇਸ਼ਨ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ true ਸੈਟ ਕਰੋ।ਜ਼ਰੂਰੀ ਕਰਕੇ jQuery.param ਵਰਗ ਦੇ ਉਪਕਰਣਾਂ ਨੂੰ ਦੇਖੋ。
- timeout
-
ਤਰੀਕਾ: Number
ਮੰਗ ਦੇ ਮੁਕਾਬਲੇ ਸਮੇਂ (ਮਿਲੀਸਕਵਾਂਡਜ਼) ਸੈਟ ਕਰੋ।ਇਹ ਸੈਟਿੰਗ ਗਲੋਬਲ ਸੈਟਿੰਗ ਨੂੰ ਖਾਸ ਕਰਕੇ ਹਟਾ ਦੇਵੇਗਾ。
- type
-
ਤਰੀਕਾ: String
ਮੂਲਤਵੀ ਮੁੱਲ: "GET")।ਮੰਗ ਤਰੀਕਾ ("POST" ਜਾਂ "GET"),ਮੂਲਤਵੀ ਮੁੱਲ "GET" ਹੈ।ਨੋਟ: ਹੋਰ HTTP ਮੰਗ ਤਰੀਕੇ, ਜਿਵੇਂ PUT ਅਤੇ DELETE ਵੀ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ, ਪਰ ਕੁਝ ਹੀ ਬਰਾਉਜ਼ਰਾਂ ਤੋਂ ਹੀ ਸਮਰਥਨ ਮਿਲਦਾ ਹੈ。
- url
-
ਤਰੀਕਾ: String
ਮੂਲਤਵੀ ਮੁੱਲ: ਮੌਜੂਦਾ ਪੰਨੇ ਦੀ ਠਿਕਾਣਾ।ਮੰਗ ਜਾਣ ਵਾਲੀ ਠਿਕਾਣਾ。
- username
-
ਤਰੀਕਾ: String
HTTP ਪਰਿਚਯ ਮੰਗ ਦੇ ਜਵਾਬ ਵਾਸਤੇ ਵਰਤੇ ਜਾਣ ਵਾਲਾ ਉਪਯੋਗਕਰਤਾ ਨਾਮ。
- xhr
-
ਤਰੀਕਾ: Function
ਜ਼ਰੂਰੀ ਹੈ ਕਿ XMLHttpRequest ਵਸਤੂ ਵਾਪਸ ਕਰੋ।ਮੂਲਤਵੀ ਰੂਪ ਵਿੱਚ IE ਵਿੱਚ ActiveXObject ਅਤੇ ਹੋਰ ਕਿਸੇ ਪਰਿਸਥਿਤੀ ਵਿੱਚ XMLHttpRequest ਹੈ।ਇਹ ਵਸਤੂ XMLHttpRequest ਨੂੰ ਮੁੜ ਲਿਖਣ ਜਾਂ ਇੱਕ ਵਧੀਆ XMLHttpRequest ਵਸਤੂ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ।ਇਹ ਪੈਰਾਮੀਟਰ jQuery 1.3 ਤੋਂ ਪਹਿਲਾਂ ਉਪਲੱਬਧ ਨਹੀਂ ਸੀ。
回调函数
如果要处理 $.ajax() 得到的数据,则需要使用回调函数:beforeSend、error、dataFilter、success、complete。
beforeSend
在发送请求之前调用,并且传入一个 XMLHttpRequest 作为参数。
error
在请求出错时调用。传入 XMLHttpRequest 对象,描述错误类型的字符串以及一个异常对象(如果有的话)
dataFilter
在请求成功之后调用。传入返回的数据以及 "dataType" 参数的值。并且必须返回新的数据(可能是处理过的)传递给 success 回调函数。
success
当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。
کمپلیٹ
اس فونکشن کو جب کسی ویب سائٹ کی ڈیٹا کی ڈالجس کی تکمیل کے بعد بولی جائیگا، کسی طرح کی کامیابی یا ناکامی کی اطلاع کی وجہ سے بولی جائیگا، XMLHttpRequest کا آئیکنس کی وجہ سے بولی جائیگا اور ایک استرنگ جو کسی خطا کا کد بول رہا ہوگا، بولی جائیگا۔
تیپ دیتا
jQuery کی فونکشن $.ajax() سرور کی فراہمی کی معلومات پر منحصر ہوتی ہے کہ وہ کس طرح کا معالجہ کریگی۔ اگر سرور کا ملاقات کیا جائیگا کہ وہ XML کا تیپ بول رہا ہے تو وہاں سے واپس کا نتیجہ کس فونکشن میں بولی جائیگا جو XML کا معالجہ کرنے والی فونکشن ہوگی یا jQuery کا سلیکٹر استعمال کیا جائیگا۔ اگر دیگر تیپ جیسے HTML کا ملاقات کیا جائیگا تو وہاں سے واپس کا نتیجہ لکچر کی شکل میں بولی جائیگا۔
تیپ dataType کے ذریعے دیگر مختلف معالجیاں بھی چنائی جاسکتی ہیں۔ صرف XML کے علاوہ، html، json، jsonp، script یا text بھی چنائی جاسکتی ہیں۔
اس میں، تیپ text اور xml کا ملاقات کی جائیگا، کسی طرح کا معالجہ نہیں کیا جائیگا۔ جوڑیں جو XMLHttpRequest کا responseText یا responseHTML کا ملاقات کی جائیگا، وہ سادے طور پر success کی باخبر بنائی جائیگا جو کس فونکشن میں بولی ہوگا۔
ਧਿਆਨ:مجبور ہوگا کہ وہ تیپ MIME جو ویب سائٹ سرور کا ملاقات کی جائیگا، کس تیپ dataType چنایا ہوگا، سے مطابقت رکھنا۔ مثلاً اگر XML کا تیپ چنا گیا ہو تو سرور کو text/xml یا application/xml کا ملاقات کی جائیگا تاکہ ایک مطابقت رکھی جائی۔
اگر مینویسیم کہ کسی ویب سائٹ کا تیپ HTML ہے، تو جس JavaScript کا اندر جاچکا ہو، وہ پہلے کا ملاقات کی جائیگی اور بعد میں وہاں سے اس کو HTML کی شکل میں دسا جائیگا جو ایک استرنگ ہوگا۔ مشابہ طور پر، اگر مینویسیم کہ تیپ script کا ملاقات کی جائیگی تو پہلے سرور کے ذریعے بنایا گیا JavaScript کا ملاقات کی جائیگی اور بعد میں اس کو ایک لکچر کی شکل میں دسا جائیگا۔
如果指定为 json 类型,则会把获取到的数据作为一个 JavaScript 对象来解析,并且把构建好的对象作为结果返回。为了实现这个目的,它首先尝试使用 JSON.parse()。如果浏览器不支持,则使用一个函数来构建。
JSON ਡਾਟਾ ਇੱਕ ਜਿਵੇਂ ਕਿ JavaScript ਵਿੱਚ ਪਾਰਸਿੰਗ ਕਰਨ ਵਾਲੀ ਸਰਗਰਮ ਢਾਂਚੇ ਵਾਲੀ ਡਾਟਾ ਹੈ।ਜੇਕਰ ਅਸੀਂ ਰਿਮੋਟ ਸਰਵਰ 'ਤੇ (ਜਿਨ੍ਹਾਂ ਦੇ ਨਾਮ ਵਿੱਚ ਸਾਰੇ ਦੋਸਤ ਦੇ ਦੋਸਤ ਨਹੀਂ ਹੋਣ, ਜਿਵੇਂ ਕਿ ਕਰਾਸ-ਡੋਮੇਨ ਜਾਂਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ) ਸਥਿਤ ਡਾਟਾ ਫਾਈਲ ਹੈ, ਤਾਂ jsonp ਟਾਈਪ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।ਇਸ ਟਾਈਪ ਨੂੰ ਵਰਤਣ ਨਾਲ, ਇੱਕ ਕਿਊਰੀਟੀ ਸਟਰਿੰਗ ਪੈਰਾਮੀਟਰ callback=? ਬਣਾਇਆ ਜਾਵੇਗਾ, ਜਿਸ ਨੂੰ ਰਿਕਵਰ ਯੂਰਲ ਦੇ ਅੰਦਰ ਜੋੜਿਆ ਜਾਵੇਗਾ।ਸਰਵਰ ਪਾਸੇ, JSON ਡਾਟਾ ਸਾਰੇ ਕਲੱਬਕ ਫੰਕਸਨ ਦੇ ਨਾਮ ਦੇ ਸਾਰੇ ਪਹਿਲੇ ਵਿੱਚ ਜੋੜਿਆ ਜਾਵੇਗਾ, ਤਾਂ ਇੱਕ ਵਧੀਆ JSONP ਰਿਕਵਰ ਪੂਰਾ ਹੋ ਸਕੇ।ਜੇਕਰ ਤੁਸੀਂ ਮੂਲਤਬੀ callback ਪੈਰਾਮੀਟਰ ਦੀ ਥਾਂ ਕਿਸੇ ਹੋਰ ਪੈਰਾਮੀਟਰ ਦਾ ਨਾਮ ਨਾਮ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ $.ajax() ਦੇ jsonp ਪੈਰਾਮੀਟਰ ਨੂੰ ਸੈਟ ਕਰ ਸਕਦੇ ਹੋ।
ਧਿਆਨ:JSONP ਜਿਵੇਂ ਕਿ JSON ਫਾਰਮੈਟ ਦਾ ਵਿਸਥਾਰ ਹੈ।ਇਸ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਨ ਲਈ, ਸਰਵਰ ਪਾਸੇ ਕੁਝ ਕੋਡ ਚਾਹੀਦਾ ਹੋਵੇ ਜੋ ਕਿ ਕਿਊਰੀਟੀ ਸਟਰਿੰਗ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਜਾਂਚ ਕਰੇ ਅਤੇ ਹੈਂਡਲ ਕਰੇ।
ਜੇਕਰ script ਜਾਂ jsonp ਟਾਈਪ ਨਾਲ ਸੁਭਾਵਿਕ ਕੀਤਾ ਗਿਆ ਹੋਵੇ, ਤਾਂ ਜਦੋਂ ਸਰਵਰ ਤੋਂ ਡਾਟਾ ਮਿਲਦਾ ਹੈ, ਤਾਂ ਇਹ <script> ਟੈਗ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਨਾ ਕਿ XMLHttpRequest ਆਬਜੈਕਟ ਦੀ।ਇਸ ਹਾਲਤ ਵਿੱਚ, $.ajax() ਇੱਕ XMLHttpRequest ਆਬਜੈਕਟ ਨਹੀਂ ਵਾਪਸ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਸਾਰੇ ਈਵੈਂਟ ਹੈਂਡਲਰਜ਼, ਜਿਵੇਂ ਕਿ beforeSend, ਨੂੰ ਵੀ ਪਾਸ ਨਹੀਂ ਕਰਦਾ ਹੈ。
ਸਰਵਰ ਨੂੰ ਡਾਟਾ ਭੇਜਣਾ
ਮੂਲ ਰੂਪ ਵਿੱਚ, Ajax ਰਿਕਵਰ ਨੂੰ GET ਮੇਥਡ ਵਰਤੇ ਜਾਂਦਾ ਹੈ।ਜੇਕਰ ਤੁਸੀਂ POST ਮੇਥਡ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ type ਪੈਰਾਮੀਟਰ ਦਾ ਮੁੱਲ ਸੈਟ ਕਰ ਸਕਦੇ ਹੋ।ਇਹ ਚੋਣ data ਚੋਣ ਵਿੱਚ ਸਮੇਤ ਕਿਵੇਂ data ਸਰਵਰ ਨੂੰ ਭੇਜੀ ਜਾਵੇਗੀ, ਇਸ ਉੱਤੇ ਵੀ ਪ੍ਰਭਾਵ ਪਾਉਂਦੀ ਹੈ。
data ਚੋਣ ਇੱਕ ਕਿਊਰੀਟੀ ਸਟਰਿੰਗ ਨੂੰ ਸਮੇਤ ਹੋ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ key1=value1&key2=value2 , ਜਾਂ ਇੱਕ ਮੈਪਿੰਗ, ਜਿਵੇਂ ਕਿ {key1: 'value1', key2: 'value2'} 。ਜੇਕਰ ਤੁਸੀਂ ਆਖਰੀ ਰੂਪ ਦਾ ਵਰਤ ਰਹੇ ਹੋ, ਤਾਂ ਡਾਟਾ ਸੈਂਡਰ ਵਿੱਚ ਕਿਊਰੀਟੀ ਸਟਰਿੰਗ ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ ਜਾਵੇਗਾ।ਇਹ ਪ੍ਰਕਿਰਿਆ processData ਚੋਣ ਨੂੰ false ਸੈਟ ਕਰਕੇ ਰੋਕਣ ਵਿੱਚ ਵੀ ਸਮਰੱਥ ਹੈ।ਜੇਕਰ ਅਸੀਂ ਸਰਵਰ ਨੂੰ ਇੱਕ XML ਆਬਜੈਕਟ ਭੇਜਣਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਤਾਂ ਇਹ ਪ੍ਰਕਿਰਿਆ ਇੰਨੀ ਵਿਆਪਕ ਨਹੀਂ ਸਮਝਦੀ ਹੈ।ਇਸ ਹਾਲਤ ਵਿੱਚ, ਅਸੀਂ contentType ਚੋਣ ਦਾ ਮੁੱਲ ਬਦਲਣਾ ਚਾਹੀਦੇ ਹਾਂ, ਜੋ ਕਿ ਮੂਲਤਬੀ MIME ਟਾਈਪ application/x-www-form-urlencoded ਦੀ ਥਾਂ ਇੱਕ ਉਚਿਤ MIME ਟਾਈਪ ਨਾਲ ਬਦਲ ਦਿੱਤਾ ਜਾਵੇ।
ਅਧਿਕਾਰਤ ਚੋਣ
global 选项用于阻止响应注册的回调函数,比如 .ajaxSend,或者 ajaxError,以及类似的方法。这在有些时候很有用,比如发送的请求非常频繁且简短的时候,就可以在 ajaxSend 里禁用这个。
如果服务器需要 HTTP 认证,可以使用用户名和密码可以通过 username 和 password 选项来设置。
Ajax 请求是限时的,所以错误警告被捕获并处理后,可以用来提升用户体验。请求超时这个参数通常就保留其默认值,要不就通过 jQuery.ajaxSetup 来全局设定,很少为特定的请求重新设置 timeout 选项。
默认情况下,请求总会被发出去,但浏览器有可能从它的缓存中调取数据。要禁止使用缓存的结果,可以设置 cache 参数为 false。如果希望判断数据自从上次请求后没有更改过就报告出错的话,可以设置 ifModified 为 true。
scriptCharset 允许给 <script> 标签的请求设定一个特定的字符集,用于 script 或者 jsonp 类似的数据。当脚本和页面字符集不同时,这特别好用。
Ajax 的第一个字母是 asynchronous 的开头字母,这意味着所有的操作都是并行的,完成的顺序没有前后关系。$.ajax() 的 async 参数总是设置成true,这标志着在请求开始后,其他代码依然能够执行。强烈不建议把这个选项设置成 false,这意味着所有的请求都不再是异步的了,这也会导致浏览器被锁死。
$.ajax 函数返回它创建的 XMLHttpRequest 对象。通常 jQuery 只在内部处理并创建这个对象,但用户也可以通过 xhr 选项来传递一个自己创建的 xhr 对象。返回的对象通常已经被丢弃了,但依然提供一个底层接口来观察和操控请求。比如说,调用对象上的 .abort() 可以在请求完成前挂起请求。