我有几个视图,当用户点击提交或其他操作时,我会通过ajax帖子将值传递给外部Web服务。对于ajax调用的url部分,我试图从位于Solution Items文件夹中的API.config传递一个键,其中每个构建/环境中的值都不同 -
密钥我想传递到ajax网址:(API.config)
<appSettings>
<add key="RestApiEndpointBaseUrl" value="http://devserver/api/" xdt:Locator="Match(key)" xdt:Transform="SetAttributes"/>
视图中的脚本:(index.cshtml)
<script type="text/javascript">
var BaseUrl = '@System.Configuration.ConfigurationManager.AppSettings["RestApiEndpointBaseUrl"]';
$('#login').click(function () {
var note = {"Account":"@Model.AccountNumber","Text":"Log In","ActionCode":"CW","ResultCode":"LI","SequenceNumber":1,"UserId":"WEB"};
$.ajax({
type: "POST",
data: JSON.stringify(note),
url: BaseUrl + "Note",
contentType: "application/json"
});
});
</script>
另外,如果我添加&#34; ToString()&#34;到这个变量声明的末尾 -
var BaseUrl = '@System.Configuration.ConfigurationManager.AppSettings["RestApiEndpointBaseUrl"].ToString()';
我收到NullReferenceException错误。 否则,我得到一个空字符串为url。我不确定我错过了什么或做错了什么。
如何,或者我可以正确传递这个作为ajax调用的URL吗?