2017-01-26 29 views
7

Vue-संसाधन के साथ Axios के लिए, हम तो जैसे main.js में जड़ यूआरएल सेट कर सकते हैं:Vue-संसाधन से स्विचिंग

Vue.http.options.root = 'http://localhost:3000/api' 

मैं की जगह करने की कोशिश की है कि के साथ:

axios.defaults.baseURL = 'http://localhost:3000/api'; 
Vue.prototype.$http = axios 

हालांकि, अब मेरी पोस्ट कॉल अपेक्षित के रूप में काम नहीं करते हैं, और Vue.http.post त्रुटि उत्पन्न करता है।

यह कैसे प्राप्त किया जाता है?

+0

उदाहरण विधि में पूर्ण URL पथ का उपयोग न करें, आप रिश्तेदार यूआरएल – Erguotou

उत्तर

5

Axios के साथ, एक यहाँ से एक और उदाहरण having a custom config

var my_axios = axios.create({ 
    baseURL: 'http://localhost:3000/api', 
}); 

बना सकते हैं एक के संचालन के लिए my_axios उपयोग कर सकते हैं। आप Vue में उदाहरण Axios कस्टम प्रोटोटाइप सकता है:

Vue.prototype.$http = my_axios 
+0

का उपयोग करना चाहिए कोई HTTP इस्तेमाल कर सकते हैं यह उम्मीद के रूप में काम नहीं करता है या तो – softcode

+3

हाँ तो शायद आप हमें बताएं कि उस दृष्टिकोण के साथ क्या काम नहीं कर रहा है? शायद नेटवर्क कंसोल इत्यादि की जांच करें – keksnicoh

1
import axios from 'axios'; 

export const HTTP = axios.create({ 
    baseURL: `http://localhost:3000/api/`, 
    headers: { 
    Authorization: 'Bearer {token}' 
    } 
}) 

अब आप की तरह तो

<script> 
import {HTTP} from './http-common'; 

export default { 
    data:() => ({ 
    posts: [], 
    errors: [] 
    }), 

    created() { 
    HTTP.get(`posts`) 
    .then(response => { 
     this.posts = response.data 
    }) 
    .catch(e => { 
     this.errors.push(e) 
    }) 
    } 
} 
</script> 
+0

यदि आप इसे एक्सेस करना चाहते हैं। $ http जैसे vue-resource में, आप केवल Vue.prototype सेट कर सकते हैं। $ http = axios। –

संबंधित मुद्दे