recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - L'accès inter-domaines Jsonp ne transmet pas de données. Demandez conseil.

Je suis un novice en front-end et j'ai rencontré le problème de l'accès entre domaines, je suis donc venu ici pour demander conseil. Ce qui suit est un script jquery généré automatiquement par postman. Il est disponible dans postman, mais après avoir été placé dans. un certain accès HTML et inter-domaines se produira lors de l'accès. La question rejetée est illustrée dans la figure 1 ci-dessous.

var form = new FormData();
form.append("data", "[{\"serviceUrl\" : \"/bank_auth\",\"apiKey\" : \"3FE8D08DB99D326D\",\"areacode\":\"000000\"} ]");

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "http://xxx.xxx.com:58080/gateway-web-1.8.0/getTicket",
  "method": "POST",
  "headers": {
    "cache-control": "no-cache",
    "postman-token": "932148f8-c97b-631c-5a3e-8411a622abd9"
  },
  "processData": false,
  "contentType": false,
  "mimeType": "multipart/form-data",
  "data": form
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

             图1
             
             

Ce qui suit est le code d'accès utilisant jsonp que j'ai trouvé en ligne. Je peux accéder avec succès à l'interface getTicket, mais
Comment transmettre les données affichées dans le code ci-dessus au serveur ? , veuillez nous en aviser
Ce problème devrait être très simple pour toute personne ayant quelques bases du front-end, mais un novice comme moi ne sait pas comment le faire !

<script>
        function submitForm(){
            var form = new FormData();
            form.append(
                            "data",
                            "[{\"serviceUrl\" : \"/bank_auth\",\"apiKey\" : \"3FE8D08DB99D326D\",\"areacode\":\"000000\"} ]");
            var url = 'http://xxx.xxxxx.com:58080/gateway-web-1.8.0/getTicket';
           $.ajax(url, {  
             data: form,  
             dataType: 'jsonp',  
             crossDomain: true,  
             success: function(data) {  
               if(data && data.resultcode == '200'){  
                 console.log(data.result.today);  
               }  
             }//success: function(data)  
           });  //$.ajax(url, { 
        }//function submitForm()
        function clearForm(){
            $('#ff').form('clear');
        }
    </script>

Voici l'interface RESTFUL de mon serveur :

    @RequestMapping(value = "/getTicket", method = { RequestMethod.POST, RequestMethod.GET })
    public String executeTicket(HttpServletRequest request, HttpServletResponse response, String data)
漂亮男人漂亮男人2748 Il y a quelques jours612

répondre à tous(1)je répondrai

  • 黄舟

    黄舟2017-05-19 10:48:03

    jsonp ne peut qu'obtenir, vous pouvez envisager d'utiliser CORS pour plusieurs domaines

     function submitForm() {
         var url = 'http://xxx.xxxxx.com:58080/gateway-web-1.8.0/getTicket';
         $.ajax({
             url: url,
             method: 'post',
             contentType:'application/json',
             data: JSON.stringify({
                 serviceUrl: 'bank_auth',
                 apiKey: '3FE8D08DB99D326D',
                 areacode: '000000'
             }),
             dataType: 'json',
             crossDomain: true,
             success: function(data) {
                     if (data && data.resultcode == '200') {
                         console.log(data.result.today);
                     }
                 } //success: function(data)  
         }); //$.ajax(url, { 
     } //function submitForm()
     function clearForm() {
         $('#ff').form('clear');
     }
    

    répondre
    0
  • Annulerrépondre