मेरे पास http://localhost/myappname
से चल रहा एक एएसपी.नेट एमवीसी वेब एप्लिकेशन है। JQuery से, मैं कुछ उपयोगकर्ता कार्रवाई के आधार पर आंशिक दृश्य वापस करने के लिए jQuery $ .ajax() कॉल करता हूं। मैं आमतौर पर इसे उसी नियंत्रक में एक दृश्य से कॉल करता हूं जिसमें फ़ंक्शन शामिल है जिसे मैं अजाक्स के माध्यम से कॉल कर रहा हूं।jQuery अजाक्स: ऐप रूट से संदर्भ एमवीसी नियंत्रक यूआरएल
function loadMyPartialView() {
$.ajax({
type: 'GET',
url: 'Home/GetNavigationTreePV/',
success: function (data) { onSuccess(data); },
error: function (errorData) { onError(errorData); }
});
return true;
}
यह ऊपर यूआरएल http://localhost/myappname/Home/GetNavigationTreePV
का संकल्प लिया जाता है और आंशिक दृश्य सही ढंग से दिया जाता है: उदाहरण के लिए, मेरे घर नियंत्रक के उस दृश्य पर निम्नलिखित समारोह (जो अच्छी तरह से काम करता है) है।
अब, मैं अपने कार्यों का परीक्षण करने के लिए qUint का उपयोग करने की कोशिश कर रहा हूं। इस टेस्ट केस में, मैं सिर्फ यह सत्यापित करना चाहता हूं कि मैं फ़ंक्शन के अंत तक पहुंच जाता हूं और सत्य लौटाता हूं। मैंने QUNIT
नियंत्रक और संबंधित दृश्य बनाया है (जो मेरी यूनिट परीक्षण जावास्क्रिप्ट फ़ाइल लोड करता है)। Test.js फ़ाइल से जिसमें मेरे यूनिट परीक्षण शामिल हैं, मैं उन कार्यों को कॉल करने का प्रयास करता हूं जो मेरे घर के दृश्यों में हैं, जैसे उपर्युक्त। लेकिन, चूंकि अब मैं QUNIT
नियंत्रक से बाहर चला रहा हूं, यूआरएल http://localhost/myappname/qunit/Home/GetNavigationTreePV
पर हल हो गया है।
मैंने अपने AJAX अनुरोध के यूआरएल को /Home/GetNavigationTreePV/
(पिछले आगे स्लैश के साथ) बदलने का प्रयास किया है, लेकिन जब मैं ऐसा करता हूं तो मुझे निम्नलिखित यूआरएल http://localhost/myappname/Home/GetNavigationTreePV
मिलता है।
तो, स्पष्ट होने के लिए, मैं अपने AJAX अनुरोध को इस तरह से लिखने की कोशिश कर रहा हूं जो हमेशा मेरे एमवीसी अनुप्रयोग की जड़ से शुरू होगा, और फिर मेरे $ .ajax() फ़ंक्शन में दिए गए यूआरएल पैरामीटर को जोड़ देगा।
क्या ऐसा करने का कोई आसान तरीका है? क्या मैं इस बारे में अजीब तरीके से जा रहा हूं?
यह वही है जो मैं भी ढूंढ रहा था। आईआईएस पर अपने ऐप को तैनात करते समय मुझे समस्या का सामना करना पड़ रहा था, उस स्थिति में जेएस फाइल में उल्लिखित यूआरएल सही ढंग से हल नहीं हो रहा था। – binu