2016-03-22 7 views
0

Ich habe versucht 2 Arten von Ajax Anrufe zu JSON-Daten, so dass ich ein Element mit Woocommerce API bestellen können. Ich verwende OAuth1.0a, um den Benutzer zu autorisieren. Es bekommt die Daten aber nicht in der Lage die Daten zu posten. Aber keiner von ihnen hat für mich funktioniert. Also bitte jemand sagt, wie JSON-Daten mit Ajax Anruf zu posten. Danke im Voraus.Wie json Daten zu bestellen, um einen Artikel mit Woocommerce API mit Ajax mit Authentifizierung zu bestellen

var oauth2 = OAuth({ 
     consumer: { 
      public: 'key', 
      secret: 'secret' 
     }, 
     signature_method: 'HMAC-SHA1' 
    }); 

    var token = { 
     public: 'key', 
     secret: 'secret' 
    }; 

    var dataToSend = {}; 

    var request_data = { 
     url: 'http://www.example.com/wc-api/v3/orders', 
     method: 'POST', 
     data: dataToSend 
    }; 

    return $.ajax({ 
     url: request_data.url, 
     type: request_data.method, 
     data: oauth2.authorize(request_data, token) 
    }); 

    return $.ajax({ 
     url: request_data.url, 
     type: request_data.method, 
     'content-type': 'application/json', 
     body: request_data.data, 
     headers: oauth2.toHeader(oauth2.authorize(request_data, token)) 
    }); 

dataToSend - Example Data

Schlüssel wird mit folgenden Link genetrated: https://docs.woothemes.com/document/woocommerce-rest-api/

Antwort

0

Einfach mal sehen, alle Header in der oauth2.authorize (request_data, Token)
und einfach alle diese Header hinzufügen die URL nach '?' ... Das ist die Lösung, die ich hatte ...


var generatedoauth = oauth.authorize(request_data, token); 
    console.log("oauth " + JSON.stringify(generatedoauth)); 


    var newUrl = '<Url Goes Here>'; 
    var paramsSt = '?oauth_consumer_key=' + generatedoauth.oauth_consumer_key + '&oauth_nonce=' + generatedoauth.oauth_nonce + '&oauth_signature_method=' + generatedoauth.oauth_signature_method + '&oauth_timestamp=' + generatedoauth.oauth_timestamp + '&oauth_signature=' + generatedoauth.oauth_signature; 
    newUrl = newUrl + paramsSt;` 
Verwandte Themen