search
HomeBackend DevelopmentPHP TutorialSummary of how to use Ajax and jsonp

Summary of how to use Ajax and jsonp

Dec 25, 2017 am 09:44 AM
javascriptjsonpInstructions

ajax and jsonp can communicate with the background to obtain data and information, but do not need to refresh the entire page to achieve partial refresh of the page. This article will lead you to learn how to use Ajax and jsonp, so we have made a summary of how to use Ajax and jsonp to share with you. Friends who need it can refer to it. We hope it can help everyone.

1. ajax

•Definition: A technology that sends http requests for asynchronous communication with the background.

•Principle: Instantiate the xmlhttp object and use this object to communicate with the background.

Ajax’s same-origin policy:

•The page or resource requested by Ajax can only be a resource under the same domain, and cannot be a resource from other domains. This is based on security when designing Ajax. consider.

-------------------------------------------------- ------------------------------------

ajax method:

1. $.ajax({}):

•Common parameters: •url: request network address
•type: request method, the default is 'GET', commonly used 'POST'
•dataType: Set the returned data format, generally use json, or html and jsonp;
•data: Set the data sent to the server
•.done(): Set the callback function after the request is successful
•.fail(): Set the callback function after the request fails
•async: Set whether it is asynchronous, the default value is 'true', which means asynchronous

•Code application:

$(function () {
  $("input").click(function () {
    $.ajax({
      url: "./data.json",
      type: "get",
      dataType: "json",
    });
    .done(function(data) {//请求成功的回调函数
      $("input").val(dat.name);
    })
    .fail(function() {
      alert('服务器超时,请重试!');
    });
  });
})
......

  <p>
    <input>
  </p>

Note: data represents the data returned by the background; the use of ajax depends on the server environment.

2. $.get():

•$.get() method uses GET request to load data from the server; it is also an ajax method for requesting data without refreshing.

•Parameters:
•url: The URL to be accessed, which needs to follow the same-origin policy;
•data: The data sent to the server.
•function(data,status){}: Request the function to run successfully
•dataType: The data type of the request response.

//参考代码:
$(function () {
  $("input").click(function () {
    $.get(
      "./data.json",
      function (data,status) {
        console.log(data.name);
      },
      "json"
    );
  });
})
......

  <p>
    <input>
  </p>

•The parameters of the $.get() method are different from $.ajax(). The URL is a required parameter, and the other three are optional.
•Data is the returned data, status indicates the status of the request, generally including ""success", "error", "timeout", etc.
•If the datatype is jsonp, you can also request data across domains .
•No callback function for request failure.

3. $.post()

•$.get() method uses POST request to load data from the server;
• The method used is exactly the same as the $.get() method.

4. $.load():

•Load data from the server, there is no need to specify the datatype, and the returned data will be automatically returned. Place it in the element.
•Parameters:

•URL: address;
•data: request parameters, optional;
•function(response, status, xhr): request successful The callback function.

$(function () {
  $("input").click(function () {
    $(".box").load(
      "./data.json",
      function (response,status) {
        console.log(data.name);
      }
    );
  });
})
......

  <p>
    <input>
    </p><p></p>
  

•The returned data will be placed in p;
•The data cannot be accessed across domains;
•response is the returned data and status is the status of the request;
•No callback function for request failure

4. getJSON()

•Method uses AJAX HTTP GET request to obtain JSON data
•Parameters:
•url: request. URL, required parameters;
•data: data sent to the server;
•function(data, status,xhr): callback function for successful request

$(function () {
  $("input").click(function () {
    $.getJSON(
      "./data.json",
      function(data,status) {
        console.log(data.name);
      },
    );
  });
})
......

  <p>
    <input>
  </p>

•The method directly obtains json Data;

•No callback function that returns failure;

•The callback function is a named function, not an anonymous function;

5. getScript()

•Method uses AJAX HTTP GET request to obtain and execute js code

•Parameters:

•url: request URL, required parameters;

•function(data, status): callback function for successful request

$(function () {
  $("input").click(function () {
    $.getScript(
      "./data.js",
      function(data,status) {
        console.log(data);
      },
    );
  });
})
......

  <p>
    <input>
  </p>

•The return result data is js code;

•This method can be used to dynamically load js code

2.jsonp#.

##•Definition: A data communication format that can be used to send http requests across domains, which can be embedded in ajax.

•Principle: Use script tags to link resources across domains.

Usage 1: Function parameter passing

<script>
  function aa(data){
    console.log(data.name);
  }
</script>
<script></script>
Instructions: Define a data.js file externally. The path of this file may not be in the same domain as the current page.

data.js. Content:


aa({
  
  "data":{
    "name":"xiaohong",
    "age":"18"
  }
})
• Pass the data in the form of parameters of the function defined on the page to obtain the data.

•Essentially, the data can be split so that the data is not forced to be stored under the same domain name.

Usage 2: Using ajax

$.ajax({
  url:'...../data.js',//可以不是本地域名 
  type:'get',
  dataType:'jsonp', //jsonp格式访问
  jsonpCallback:'aa' //获取数据的函数
})
.done(function(data){
  console.log(data.name);
})
.fail(function() {
  alert('服务器超时,请重试!');
});
•The content of data.js is the same as above.

•The method of using ajax is essentially a script tag that can link resources across domains, but jquery encapsulates the same method and looks the same.

•The execution process of the above code is: ajax accesses the data.js file across domains through jsonp technology, and executes the .done method by finding the aa() method and passing its parameters to the data parameter of the .done method.

•At present, this method still has its limitations, that is, you must know the name of the data.js file and the defined method aa. If you only know the domain name, another method is needed.

Usage Three

var $input = $("input");
$input.keyup(function () {
  $.ajax({
    url:'https://sug.so.360.cn/suggest?',//请求360搜索的联想数据
    type:'get',
    dataType:'jsonp', //jsonp格式访问
    data: {word: $input.val()},
  })
  .done(function(data){
    console.log(data);
  })
  .fail(function() {
    alert('服务器超时,请重试!');
  });
})
....

  <input>
•View the data packet sent back by the server each time you enter a keyword through the browser, find the address of the header in the js file and the related submission data, and find that the key is the word keyword, so you can Send data to the server.

•The data returned by the server will be automatically passed to the parameter data of the anonymous function of the callback.

Related recommendations:

How to implement AJAX and JSONP in native JS

The difference and usage between json and jsonp

Use of ajax and jsonp in javascript Detailed explanation of skill code

The above is the detailed content of Summary of how to use Ajax and jsonp. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Explain how load balancing affects session management and how to address it.Explain how load balancing affects session management and how to address it.Apr 29, 2025 am 12:42 AM

Load balancing affects session management, but can be resolved with session replication, session stickiness, and centralized session storage. 1. Session Replication Copy session data between servers. 2. Session stickiness directs user requests to the same server. 3. Centralized session storage uses independent servers such as Redis to store session data to ensure data sharing.

Explain the concept of session locking.Explain the concept of session locking.Apr 29, 2025 am 12:39 AM

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

Are there any alternatives to PHP sessions?Are there any alternatives to PHP sessions?Apr 29, 2025 am 12:36 AM

Alternatives to PHP sessions include Cookies, Token-based Authentication, Database-based Sessions, and Redis/Memcached. 1.Cookies manage sessions by storing data on the client, which is simple but low in security. 2.Token-based Authentication uses tokens to verify users, which is highly secure but requires additional logic. 3.Database-basedSessions stores data in the database, which has good scalability but may affect performance. 4. Redis/Memcached uses distributed cache to improve performance and scalability, but requires additional matching

Define the term 'session hijacking' in the context of PHP.Define the term 'session hijacking' in the context of PHP.Apr 29, 2025 am 12:33 AM

Sessionhijacking refers to an attacker impersonating a user by obtaining the user's sessionID. Prevention methods include: 1) encrypting communication using HTTPS; 2) verifying the source of the sessionID; 3) using a secure sessionID generation algorithm; 4) regularly updating the sessionID.

What is the full form of PHP?What is the full form of PHP?Apr 28, 2025 pm 04:58 PM

The article discusses PHP, detailing its full form, main uses in web development, comparison with Python and Java, and its ease of learning for beginners.

How does PHP handle form data?How does PHP handle form data?Apr 28, 2025 pm 04:57 PM

PHP handles form data using $\_POST and $\_GET superglobals, with security ensured through validation, sanitization, and secure database interactions.

What is the difference between PHP and ASP.NET?What is the difference between PHP and ASP.NET?Apr 28, 2025 pm 04:56 PM

The article compares PHP and ASP.NET, focusing on their suitability for large-scale web applications, performance differences, and security features. Both are viable for large projects, but PHP is open-source and platform-independent, while ASP.NET,

Is PHP a case-sensitive language?Is PHP a case-sensitive language?Apr 28, 2025 pm 04:55 PM

PHP's case sensitivity varies: functions are insensitive, while variables and classes are sensitive. Best practices include consistent naming and using case-insensitive functions for comparisons.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool