什么是jsonp,jsonp是什么,jsonp如何使用 JSONP কি, JSONP কি, JSONP কিভাবে ব্যবহার করবেন JSONP কি, JSONP কি, JSONP কিভাবে ব্যবহার করবেন
ব্রাউজারের নিরাপত্তা সীমাবদ্ধতার কারণে, ডেটা সরাসরি ক্রস-ডোমেইন (বিভিন্ন মূল ডোমেইন, দ্বিতীয় স্তরের ডোমেইন, অথবা বিভিন্ন পোর্ট অন্তর্ভুক্ত) অনুরোধ করা যায় না, যতক্ষণ না লক্ষ্য ডোমেইন আপনাকে প্রবেশ করার অনুমতি দেয়। যেমন crossdomain.xml সেট করা অথবা http হেডারে অনুমোদন দেওয়া।
কিন্তু crossdomain.xml অনুমতি দেয় যে ওয়েবসাইটগুলি সমস্ত ডেটা অ্যাক্সেস করতে পারে, এবং হেডার সেট করা খুব জটিল।
তাহলে আপনি আপনার অনুমোদিত ডেটা রিটার্নে jsonp সেট করতে পারেন যাতে সেই ইন্টারফেস সমস্ত কলকারীকে ডেটা অ্যাক্সেস করতে দেয়।
jsonp হল কলব্যাকের পদ্ধতি ব্যবহার করার একটি নীতি।
ওয়েবপেজে, আপনি যদি অন্য ওয়েবপেজের js অন্তর্ভুক্ত করেন, তাহলে এই পৃষ্ঠার js আপনার ওয়েবপেজের কোড কল করতে পারে।
প্রত্যক্ষভাবে অনুরোধ করা js এবং অনুরোধের ডায়নামিক পেজ (jsp, php, aspx) থেকে আউটপুট করা জাভাস্ক্রিপ্ট কোডের প্রভাব একই।
function showjson(json){
alert(json.url);
}
如果引用的js或动态页面里有 showjson({"url":" http://www.bejson.com "});这行代码的话,那就会弹出 http://www.bejson.com
নীচে আমরা এই পৃষ্ঠায় অনুরোধ করছি। http://www.ibilibili.com/static/js/forbejson/userinfo.php পাতার ডেটা, এই php পাতার ডেটা একটি কলব্যাক ফাংশন showjson ব্যবহার করবে, যা আমাদের এই bejson পাতার showjson পদ্ধতিকে কল করবে এবং একটি json পাঠাবে:
< ?php
//এটি php পৃষ্ঠায়, showjson পদ্ধতিতে কল করা হচ্ছে, এই পদ্ধতির নাম অবশ্যই উপরে সংজ্ঞায়িত স্থানীয় পৃষ্ঠায় কলব্যাক পদ্ধতির সাথে মিলে যেতে হবে।
echo 'showjson({"url":"http://www.bejson.com"})';
?>
ফাংশন কলব্যাকের জন্য পিএইচপি:
$("#getuserp").click(function(){
$.getScript("//www.bejson.com/test/userinfop.php");
});
তাহলে যদি আমরা প্যাকেট ধরতে পারি, তাহলে আমরা দেখতে পাবো (উপরের ছবির মতো), বোতামে ক্লিক করার পর একটি HTTP অনুরোধ শুরু হয়েছে,
অনুরোধ করা হয়েছে// www.bejson.com/test/userinfop.php পাতা,
页面里输出了 showjson({"url":" http://www.bejson.com "}) ,
কারণ এটি দ্বারা জাভাস্ক্রিপ্ট ফাইলের রূপে লোড করা হয়েছে। তাহলে সে স্থানীয় পৃষ্ঠায় showjson এর উপর একটি কলব্যাক শুরু করবে (সবুজ তীরটি দেখুন), এবং json প্যারামিটার পাস করবে (লাল তীরটি দেখুন), তাই json এর মধ্যে url টি পপ আপ হয়ে যাবে।
ধন্যবাদ
লাউ
কোডের ভুল চিহ্নিত করুন এবং সঠিক কোড প্রদান করুন।
x $.ajax({
url:'//www.bejson.com/test/userinfop.php',
type:"GET",
dataType:"jsonp",
jsonp: false,
jsonpCallback: "showjson", //এখানে মানটি কলব্যাক ফাংশনের নামের মতো হতে হবে
success:function(data){
console.log("Script loaded and executed.");
},
error:function (textStatus) { //অনুরোধ ব্যর্থ হলে কল করা হবে ফাংশন
console.log(JSON.stringify(textStatus));
}
});
আপনি সাম্প্রতিককালে ব্যবহার করেছেন: