用更多参数实现成功处理程序

时间:2012-09-22 18:55:09

标签: c# jquery asp.net ajax webmatrix

继续我的这篇文章 passing id to ajax call

我还想了解更多。

我的问题是这样的

我有2页(default.cshtml + click.cshtml) 在default.cshtml中,我有一个js代码来初始化一个div区域,其id为某个图像。当我单击上一篇文章中提到的链接时,我需要更改此区域中的图像,因为新图像是从数据库加载的。每个图像与指定的id相关联;现在我不知道应该如何或在哪里放置这个initialize脚本,因为默认页面和点击页面都使用它

function init(id)
{
   //...initialize options
   var id=document.GetElementByID("displayimg");
   //...display image
}

如何在具有2个或更多参数的java脚本中实现成功处理程序?

$(document).ready(function ()
{
    $('.viewp').click(function ()
    {
        var responseUrl="~/click?id="+id;                    
        $.ajax(
        {
            type: "GET",
            data:id,
            url:responseUrl,
            success:function(data1, data2)
            {

            }
        });
    });
});

因为click.cshtml将在数据库表中查询另外两个数据值以重新显示图像,它是新的宽度和高度:-D

3 个答案:

答案 0 :(得分:3)

成功函数必须采用以下格式:function (data, textStatus, jqXHR)。这意味着,无论服务器输出在数据中。您必须解析data.responseText以获取您的data1和data2。

答案 1 :(得分:3)

我会使用JSON从您的服务器回复,例如:

{
    height: 20,
    width: 20
}

然后在你的ajax电话中,你可以做到

$.ajax({
    url: url,
    dataType: "json",
    success: function( dimensions ) {
        // Do something with dimensions.width and dimensions.height
    }
});

答案 2 :(得分:1)

将高度和宽度放入数组并将其发送到ajax。

在c#代码中

int[] val = { 10, 20 };

和js ajax成功函数

success: function(value) { 
//  process value[0] which is height or width.... value[1] etc.