জাভাস্ক্রিপ্ট REST ক্লায়েন্ট লাইব্রেরি [বন্ধ]


117

সেখানে একটি JavaScript লাইব্রেরি যা আমার মত (বাকি সব অপারেশন করতে সক্ষম হবেন কি GET, POST, PUTএবং DELETEওভার HTTPবা HTTPS)?

উত্তর:


139

আপনার সত্যিকারের নির্দিষ্ট ক্লায়েন্টের দরকার নেই, বেশিরভাগ লাইব্রেরির সাথে এটি মোটামুটি সহজ। JQuery এর উদাহরণস্বরূপ আপনি $.ajaxযে ধরনের অনুরোধ করতে চান তার সাথে জেনেরিক ফাংশনটি কল করতে পারেন:

$.ajax({
    url: 'http://example.com/',
    type: 'PUT',
    data: 'ID=1&Name=John&Age=10', // or $('#myform').serializeArray()
    success: function() { alert('PUT completed'); }
});

আপনি / / অথবা যে কোনও কিছু PUTদিয়ে প্রতিস্থাপন করতে পারেন ।GETPOSTDELETE



এবং @ আভি ফ্ল্যাক্স যা বলেছে তার প্রসারিত করতে, আপনি শর্টকাট চাইলে আপনার নিজের PUTএবং DELETEপদ্ধতিগুলি তৈরি করা খুব সহজ ।
zzzzBov

2
আপনি কীভাবে প্রতিক্রিয়াটির শরীর পুনরুদ্ধার করবেন? শিরোনাম?
প্যান্টেলিস সোপাসাকিস 26'12

প্যান্টেলিসসপাসাকিস এই কলব্যাকটি successএকটি dataযুক্তি নিয়েছে, এতে প্রতিক্রিয়া থাকবে।
সোলসেকাহঃ

6
প্রযুক্তিগতভাবে, এটি কোনও রেস্ট ক্লায়েন্ট নয়, এটি একটি এইচটিপিপ্লেইয়েন্ট। আমি এমন কিছু সন্ধান করছি যা দেখায় যে কীভাবে লিঙ্ক সম্পর্ক এবং মিডিয়া প্রকারগুলি সঠিকভাবে রাষ্ট্র চালনা করতে যায়। তাকিয়ে থাকবে ...
পিটার ম্যাকভয়

71

আপনি যেমন কোনও দুর্দান্ত লাইব্রেরি, যেমন দুর্দান্ত jQuery ব্যবহার করতে ইচ্ছুক হতে পারেন, আপনাকে এগুলি করতে হবে না: সমস্ত আধুনিক ব্রাউজারগুলি এক্সএমএলএইচটিপিআরকুয়েস্ট এপিআই এর মাধ্যমে তাদের জাভাস্ক্রিপ্ট বাস্তবায়নে HTTP কে খুব ভাল সমর্থন করে , এটির নাম থাকা সত্ত্বেও, এক্সএমএল উপস্থাপনার মধ্যে সীমাবদ্ধ নয় ।

জাভাস্ক্রিপ্টে সিঙ্ক্রোনাস HTTP পুট অনুরোধ করার উদাহরণ এখানে রয়েছে:

var url = "http://host/path/to/resource";
var representationOfDesiredState = "The cheese is old and moldy, where is the bathroom?";

var client = new XMLHttpRequest();

client.open("PUT", url, false);

client.setRequestHeader("Content-Type", "text/plain");

client.send(representationOfDesiredState);

if (client.status == 200)
    alert("The request succeeded!\n\nThe response representation was:\n\n" + client.responseText)
else
    alert("The request did not succeed!\n\nThe response status was: " + client.status + " " + client.statusText + ".");

এই উদাহরণটি সিঙ্ক্রোনাস কারণ এটি এটিকে কিছুটা সহজ করে তোলে তবে এই এপিআইটি ব্যবহার করে অ্যাসিঙ্ক্রোনাস অনুরোধ করাও বেশ সহজ।

এক্সএমএলএইচটিপিআরকুয়েস্ট শেখার বিষয়ে ওয়েবে হাজার হাজার পৃষ্ঠা এবং নিবন্ধ রয়েছে - তারা সাধারণত এজেএক্স শব্দটি ব্যবহার করে - দুর্ভাগ্যক্রমে আমি কোনও নির্দিষ্টটির সুপারিশ করতে পারি না। যদিও আপনি এই রেফারেন্সটি সহজেই পেতে পারেন ।


11

আমি সবে তৈরি এই jQuery প্লাগইনটি ব্যবহার করতে পারেন :) https://github.com/jpillora/jquery.rest/

মৌলিক সিআরইউডি অপারেশন, নেস্টেড রিসোর্সেস, বেসিক অ্যাথ সমর্থন করে

  var client = new $.RestClient('/api/rest/');

  client.add('foo');
  client.foo.add('baz');
  client.add('bar');

  client.foo.create({a:21,b:42});
  // POST /api/rest/foo/ (with data a=21 and b=42)
  client.foo.read();
  // GET /api/rest/foo/
  client.foo.read("42");
  // GET /api/rest/foo/42/
  client.foo.update("42");
  // PUT /api/rest/foo/42/
  client.foo.delete("42");
  // DELETE /api/rest/foo/42/

  //RESULTS USE '$.Deferred'
  client.foo.read().success(function(foos) {
    alert('Hooray ! I have ' + foos.length + 'foos !' );
  });

আপনি যদি বাগগুলি খুঁজে পান বা নতুন বৈশিষ্ট্যগুলি চান তবে তাদের সংগ্রহশালা 'ইস্যু' পৃষ্ঠাতে পোস্ট করুন please


2
আপনি এটি কতটা সহজ করেছেন তা আমি পছন্দ করি। এটি যখন প্রয়োজন হয় তখন অতিরিক্ত বিকল্পগুলি সমর্থন করে বলে মনে হয় তবে আপনি সেগুলি এড়িয়ে যান।
স্ট্রাডাস

কি দারুন. আপনি এতগুলি মুক্ত উত্স ভাগ করেছেন। সম্মান.
wonsuc

8

jQuery এর ইউআরআই প্যারামিটার টেম্পলেটগুলির REST শৈলীর সাথে JSON-REST প্লাগইন রয়েছে। এর বর্ণনানুসারে ব্যবহারের উদাহরণ অনুসারে $.Read("/{b}/{a}", { a:'foo', b:'bar', c:3 })ফলোইন : "/ বার / ফু? সি = 3" তে জিইটি হয়ে যায়।


6

রেফারেন্সের জন্য আমি ম্যানুয়াল: RESTful ওয়েব পরিষেবাদিতে যেমন ব্যাখ্যা করেছি এক্সট্রিজএস সম্পর্কে যোগ করতে চাই । সংক্ষেপে, জিইটি, পোষ্ট, পুট, ডিলেট নির্ধারণের জন্য পদ্ধতিটি ব্যবহার করুন। উদাহরণ:

Ext.Ajax.request({
    url: '/articles/restful-web-services',
    method: 'PUT',
    params: {
        author: 'Patrick Donelan',
        subject: 'RESTful Web Services are easy with Ext!'
    }
});

শিরোনাম গ্রহণ করুন প্রয়োজনীয় হলে, এটি সমস্ত অনুরোধের জন্য একটি ডিফল্ট হিসাবে সেট করা যেতে পারে:

Ext.Ajax.defaultHeaders = {
    'Accept': 'application/json'
};

3

আপনি ব্যাকবোন.জেএস এর মতো এমভিসি ফ্রেমওয়ার্কগুলিও ব্যবহার করতে পারেন যা ডেটার একটি জাভাস্ক্রিপ্ট মডেল সরবরাহ করবে। মডেলটির পরিবর্তনগুলি আরইএসটি কলগুলিতে অনুবাদ করা হবে।




আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.