2017-04-17 56 views
-1

我剛剛開始使用.net,我可以給完整的webapi端點url來進行AJAX調用或提供相對url。客戶項目在使用相對URL時如何知道在哪裏找到webapi端點?客戶端項目在端口x上運行並且服務器api端點在端口y上運行。 AJAX如何知道webapi的終點

客戶端AJAX當前呼叫:

$.ajax({ 
          url: localhost:3227/api/form/post, 
          contentType: "application/json; charset=UTF-8", 
          type: "POST", 
          dataType: "json", 
          data: JSON.stringify(formData), 
          success: function (resp) { 
           console.log("Updated successfully!");         }, 
          error: function (request, status, error) { 
           console.log(request.responseText + ' Error:' + error.message); 
} 
}); 

我想要做什麼:

$.ajax({ 
          url: /api/form/post, 
          contentType: "application/json; charset=UTF-8", 
          type: "POST", 
          dataType: "json", 
          data: JSON.stringify(formData), 
          success: function (resp) { 
           console.log("Updated successfully!");         }, 
          error: function (request, status, error) { 
           console.log(request.responseText + ' Error:' + error.message); 
} 
}); 

如何AJAX調用知道localhost:3227/api/form/post是,如果我刪除localhost:3227只保留/api/form/post 它是在一些項目配置,我不知道?

+1

「我剛剛去了......買......」你怎麼知道我去了,我買什麼?確切地說,你不會知道。如果你不告訴它去哪裏,你爲什麼期望系統知道去哪裏? –

+0

@StephanBijzitter我不期望它知道。我想知道的是它如何得到解決。我不想在配置文件中將其硬編碼,因爲服務器主機URL將會不同。我想知道這個機制?如果你知道,請解釋。爲什麼是負面的? – powernit

+1

因爲這個問題非常廣泛,可以用許多不同的方式來回答。這不是一個具體問題。 –

回答

1

在配置文件中添加, var api_url = localhost:3227;

然後,

$.ajax({ 
          url: api_url+ '/api/form/post', 
          contentType: "application/json; charset=UTF-8", 
          type: "POST", 
          dataType: "json", 
          data: JSON.stringify(formData), 
          success: function (resp) { 
           console.log("Updated successfully!");         }, 
          error: function (request, status, error) { 
           console.log(request.responseText + ' Error:' + error.message); 
} 
}); 
+0

我對此和@Stephan Bijzitter進行了更多研究,你們都是對的。 – powernit

相關問題