javascript - 执行 AJAX 调用时不调用 Django 视图
问题描述
我正在尝试设置 AJAX 调用以调用 Django 视图,执行一些计算,然后将输出返回到我的 html 页面。不幸的是,视图似乎没有达到。不知道出了什么问题,但我的 AJAX 经验非常有限。这个想法是,当我的滑块看到值发生变化时,它会触发 AJAX 调用。触发器似乎可以工作,因为它显示了我的警报弹出窗口。但就是这样,没有其他事情发生。能否请你帮忙?
这是我的 html/AJAX 代码:
<div class="slider-wrapper">
<span>Option 1 Imp. Vol.</span>
<input class="toChange" id="rangeInput" name="rangeInput" type="range" value="{{Sigma}}" min="0" max="150" step="0.1" oninput="amount.value=rangeInput.value" />
<input class="toChange" id="amount" type="number" value="{{Sigma}}" min="0" max="150" step="0.1"oninput="rangeInput.value=amount.value" />
</div>
<label>Ajax Test:</label>
<span id="Atest">
<script type="text/javascript">
function inputChange () {
var Sigma = document.getElementById("rangeInput").value;
alert();
$.ajax({
url: '/finance/templates/optionstrategies/',
type: 'POST',
data: {'Sigma': Sigma,
},
//dataType: "json",
success: function(optionVal) {
document.getElementById("Atest").innerHTML = optionVal;
}
});
}
$(".toChange").change(inputChange);
</script>
这是我的view.py:
def optionStrategies(request):
errors=''
if request.method == 'POST' and request.is_ajax():
print('ok')
Type = request.POST.get('Type')
V = request.POST.get('V')
Q = request.POST.get('Q')
S = request.POST.get('S')
K = request.POST.get('K')
r = request.POST.get('r')
t = request.POST.get('t')
Sigma = request.POST.get('rangeInput')
BS = BlackScholes(Type = 'Vanilla', S = float(S), K = float(K), sig = float(Sigma)/100, r = float(r)/100, t = float(t)/365)
optionVal = BS[0]
print(optionVal)
optionVal = json.dumps(optionVal)
return HttpResponse(optionVal, content_type='application/json')
Edit1:添加 urls.py 代码:
urlpatterns = [
url(r'^$',views.home, name="homepage"),
path('optionstrategies/', views.optionStrategies, name="optionstrategies"),
path('impliedvolatility/', views.impliedVolatilityHtml, name="impliedvolatility"),
解决方案
问题出在网址上。将 '/finance/templates/optionstrategies/' 替换为 '/optionstrategies/' 就可以了。
推荐阅读
- java - 使用 JAVA 循环
- postgresql - 尽管密码正确,pgAdmin4 无法连接到 postgres 服务器?
- xml - rust 和 serde-xml-rs 可以解析 XML 文件中的注释吗?
- excel - 如果空白/为空,则根据单元格 A2 中的值跳过工作表
- php - 我想在php中将整数转换为年份中的日期
- r - 模拟从网络中删除节点 100 次(上一个问题 https://stackoverflow.com/questions/61082761/how-do-i-delete-nodes-in-igraph-in-r)
- javascript - 导出请求之外的变量
- sql - 我应该把一张桌子分成两个单独的桌子吗?
- node.js - TypeError:无法读取未定义的“id”属性
- oracle - 如何使用oracle触发器中的计算值更新同一表中的列