当我从VS2015调试运行时,我的帖子运行良好:
$("#DisplayChartType").bind("change", function () {
$.post("../Employee/ChangeDisplayChartType", { displayChartType: $("#DisplayChartType").val() }, function (data) {
iDependOnMyParameter(data);
})
});
但是,一旦我发布到IIS,帖子就不起作用了。我尝试在帖子中使用../,/和〜/但没有工作。我搜索了网页并找到了下面的方法,但我仍然将ARG1作为参数而不是我的javascript变量发送。
$("#DisplayChartType").bind("change", function () {
$.post("@Html.Action("ChangeDisplayChartType", "Employee", new { displayChartType = "ARG1" })".replace("ARG1",$("#DisplayChartType").val()) , function (data) {
iDependOnMyParameter(data);
})
});
我该怎么做?我真的想继续使用$ .post方法,因为它在VS中运行良好。
答案 0 :(得分:1)
您可以尝试使用此代码。
$("#DisplayChartType").bind("change", function () {
var chartType = $("#DisplayChartType").val();
var url="@Url.Action("ChangeDisplayChartType", "Employee", new { displayChartType = "ARG1" })";
$.post(url.replace("ARG1", chartType), function (data) {
iDependOnMyParameter(data);
})
});
答案 1 :(得分:0)
然后将其添加到网址
$.post("../Employee/ChangeDisplayChartType?displayChartType=" + encodeURIComponent($("#DisplayChartType").val()), function(){});
或将原始代码更改为GET,该值将添加到查询字符串中。
答案 2 :(得分:0)
您可以使用window.location.origin
或document.location.origin
获取您网站的来源,无论是在VS 2015调试中运行还是在IIS上运行。
所以不要做
$.post("../Employee/ChangeDisplayChartType"
你可以尝试
$.post(document.location.origin + "/Employee/ChangeDisplayChartType"
答案 3 :(得分:0)
在脚本的顶部,我现在声明" myPath"。我的网站网址以" secure"结尾所以这个测试给了我正确的道路:
$("#DisplayChartType").bind("change", function () {
$.post(myPath + "/Employee/ChangeDisplayChartType", { displayChartType: $("#DisplayChartType").val() }, function (data) {
alert($("#DisplayChartType").val());
iDependOnMyParameter(data);
})
});
然后我这样做:
$this->db->query("select()->from('travels_detail')->where('destination', $country_id");