2013-06-29 3 views
3

Я разрабатываю два проекта в рамках одного API решения и веб-приложения.Как переопределить базовый URL-адрес ajax?

Я использую Visual Studio 2012, и порты для каждого проекта отличаются при отладке, например. localhost:32335 и localhost:21890, поэтому теперь каждый раз, когда мне нужно использовать api, мне нужно установить localhost с этим портом.

Я придумал решение установить порт по умолчанию, например, 1337, а в файле хоста example.com - localhost:1337, так что теперь мне просто нужно использовать example.com/api/someaction.

То, что я хочу сделать, это установить базовый адрес в AJAX, так что я не перепечатывать example.com в моем коде, так что в основном я просто нужно набрать /api/someaction и Ajax вызова теперь будет использовать example.com по умолчанию, не локальный: 33181.

+1

Просто сделайте функцию для возврата вызова. 'function srvc (name) {return 'example.com/api/'+name; } ', тогда назовите его в url like,' srvc ('someaction') '.. – Ohgodwhy

+0

@Ohgodwhy, что кажется хорошим обходным путем, но я бы предпочел изменить' $ .ajax() 'функцию, а не поли-заполнение. – skmasq

ответ

1

Приступайте к работе с iis. создайте другое приложение с другим доменным именем и отредактируйте файл хостов для использования этого адреса. не используйте с кассини. для каждого приложения создайте приложение в iis. добавьте привязку и создайте разные имена доменов в файле hosts.

+0

Это хорошее решение. В основном для производства, но мне удалось использовать это и при разработке. – skmasq

-2

Использование JQuery ajaxSetup:

$.ajaxSetup({ 
    url: 'ping.php' 
}); 
+0

Это не сработает, так как если он поставляет '/ api/someaction'', url будет меняться в этом ajax-вызове'/api/someaction', поскольку способ '$ .extend()' работает для реализации настроек в объект ajax. -1 – Ohgodwhy

+0

Хороший момент, который я пропустил. Оставляя это здесь, как хорошо знать – Mataniko