javascript - L'accès inter-domaines Jsonp ne transmet pas de données. Demandez conseil.
漂亮男人
漂亮男人 2017-05-19 10:46:03
0
1
624

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)
漂亮男人
漂亮男人

répondre à tous(1)
黄舟

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');
 }
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal