Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在AJAX调用中将按钮ID传递给控制器_Javascript_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 在AJAX调用中将按钮ID传递给控制器

Javascript 在AJAX调用中将按钮ID传递给控制器,javascript,jquery,ajax,asp.net-mvc,Javascript,Jquery,Ajax,Asp.net Mvc,在我的网页中,我使用按钮选择不同的城市,我想根据按钮ID从我的模型中检索数据。因为每个城市有400多条记录。 如果我点击我的按钮,看起来它没有激活我的控制器方法,因为我的ajax调用没有发生 我的HTML代码如下所示: <table> <tr> <td id="A"><input value="A"type="button" id="btn_a" onclick="getValues(this)"/>

在我的网页中,我使用按钮选择不同的城市,我想根据按钮ID从我的模型中检索数据。因为每个城市有400多条记录。 如果我点击我的按钮,看起来它没有激活我的控制器方法,因为我的ajax调用没有发生

我的HTML代码如下所示:

<table>
    <tr>
        <td id="A"><input   value="A"type="button"  id="btn_a"   onclick="getValues(this)"/> 
        </td>            
    </tr>
    <tr>
        <td id="B"><input value="B"id="btn_b" type="button" onclick="getValues(this)"/> 
        </td>
    </tr>
</table>

霉菌控制法

public JsonResult updateValues(string site)
{
    list<string> dataList = new list<string>;
    Model m = new Model();
    dataList = m.myData(site);
    JavaScriptSerializer jss = new JavaScriptSerializer();
    string output = jss.Serialize(dataList );
    return Json(dataList , JsonRequestBehavior.AllowGet);
}
publicJSONResult更新值(字符串站点)
{
列表数据列表=新列表;
模型m=新模型();
dataList=m.myData(站点);
JavaScriptSerializer jss=新的JavaScriptSerializer();
字符串输出=jss.Serialize(dataList);
返回Json(dataList,JsonRequestBehavior.AllowGet);
}
我的Ajax电话

<script type="text/javascript">
    function getValues(siteID) {
        var id = siteID.id,
        var data = id.value,
        $.ajax({
            type: "GET",
            url: '@Url.Action("updateValues")',// the method we are calling
            cache: false,
            contentType: "application/json; charset=utf-8",
            data: {"data": data},
            dataType: "json",
            success: function (data) {
                for (var k = 0; k < 630; k++) {
                    document.getElementById(k).innerHTML = data[k];
                }       
            }
        });
      }
</script>

函数getValues(siteID){
var id=siteID.id,
var数据=id.value,
$.ajax({
键入:“获取”,
url:'@url.Action(“updateValue”),//我们正在调用的方法
cache:false,
contentType:“应用程序/json;字符集=utf-8”,
数据:{“数据”:数据},
数据类型:“json”,
成功:功能(数据){
对于(var k=0;k<630;k++){
document.getElementById(k).innerHTML=data[k];
}       
}
});
}

在控制器中,您将获得
站点
参数作为
字符串
,但正在发送的数据是
JOSN
对象。我需要从AJAX调用向控制器发送一个字符串。。你能帮我怎么做吗?ajax调用不发生意味着什么?您的页面中是否存在脚本错误?还是打电话却没有得到预期的数据?这是什么?当我调试代码时。。点击按钮后,我看不到我的控制器方法被调用。点击后是否出现任何网络状态错误?