将API.config密钥传递给ajax调用的url设置

时间:2017-07-26 19:16:20

标签: ajax razor asp.net-mvc-5

我有几个视图,当用户点击提交或其他操作时,我会通过ajax帖子将值传递给外部Web服务。对于ajax调用的url部分,我试图从位于Solution Items文件夹中的API.config传递一个键,其中每个构建/环境中的值都不同 -

Solution Items folder layout

密钥我想传递到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吗?

0 个答案:

没有答案