我是HTML和Ajax的新手。我正在尝试从flask插入一个IP列表到ajax,并触发js函数闪烁。 但是以某种方式我找不到以正确的方式将ip变量(response [i])插入函数值列的方法。 它会触发html中所需的ip标签上的闪烁。
polygon's
function ajaxForm(){
// var form= new FormData(document.getElementById("myform2"));
var data = {"name":"John Doe"}
$.ajax({
url:"{{ url_for('Submit_form') }}",
type:"post",
contentType:'application/json',
data:JSON.stringify(data),
dataType: "json",
processData:false,
// async: false
success:function(response){
// alert(response)
if (response == "success")
{alert("Success !!!" );}
else {
for(i in response)
{
BLINK(response[i]);
}
}
},
// #time out 也进入 error
error:function(e){
// alert(e.)
alert("Failed submit form trigger!!!!");
}
})
}
答案 0 :(得分:0)
起初,您还应该始终提供HTML代码:),因为现在我们不知道问题是否存在。
所以让我们尝试盲目的解决问题:)
如果我正确地看到了这一点,那么您就在元素上犯了错误,并使它比使用jquery更加复杂,因为如果您的elem上有ID,请检查一下:
The entity type 'MatchId' requires a primary key to be defined.
第二个问题是您使用的是未定义的变量“ ID”:
// change this:
var obj = $('input[id="IP"][value=response[i]]') . <---- here // .. is your problem :)
obj.addClass("blink-class");
// with the dot you add this obj, which is it self, on it self :) that cant work :)
// you can try:
var obj = $('input[value="' + response[i] + '"]') // with NO dot and no fixed ID!
obj.addClass("blink-class");
// or try this
var obj = $('#' + response[i]);
obj.addClass("blink-class");
// and put the IP into the ID attraktion of your input element.
但是您没有声明此var,所以如果我正确理解您的代码,那么您的响应[i]应该是IP?
您的函数应如下所示:
blink(IP); // in your timeout function
尝试此操作,如果它不起作用,请提供完整的html和您的CSS代码,我们也可能需要从控制台获得最终错误消息,您可以看到在FireFox或Chrome中按F12键,然后切换到控制台标签,按F5,然后重新加载页面并查看错误,也请发布。
或者为您尝试我的jsfiddle: https://jsfiddle.net/AIQIA/tjg659sr/17/
您必须从IP中删除点并将其作为ID放入您要眨眼的elem中,进一步,您需要从响应[i]或php代码中删除点,然后才能轻松使用{{1 }}
或者使用它在输入值中仅使用完整的IP,那么您不需要删除点: https://jsfiddle.net/AIQIA/tjg659sr/21/
greetz毒素