0

所以我有以下代码:

    $(document).on('click', 'a[data-link]', function () {
        var $this = $(this);
        url = $this.data('link');
        $("#imagePreview").load("imageProcess.aspx?" + url);
    });

这应该将 GET 数据发送到 imageProcess.aspx,然后将输出附加到 div id“imagePreview”。url 从这里存储数据:

<a class='modelsBlue' href = '#' data-link='model="+$(this).find('model').text()+"&type="+category+"'>" + $(this).find("model").text() + "</a> 

我遇到的问题是运行此代码时没有显示任何内容。目前我的 .aspx 文件只包含以下内容:

<%
   Response.Write(Request.QueryString("model"))
   Response.Write(Request.QueryString("type"))
%>

我对来自 php 背景的 asp.net 很陌生,所以我确定问题出在 asp 文件中,但我一直在网上寻找解决方案,但找不到任何东西。任何帮助深表感谢。

4

2 回答 2

1

图像是 HTTP 上的流,或者可以使用 base64 编码嵌入到 HTML 文档中。imageProcess.aspx你从文件中返回什么?您是否Content-Type在 HTTP 响应中设置了正确的标头(例如image/pngimage/jpg)?

更新:我建议您首先确定问题出在哪里。安装Fiddler并运行您的代码。通过 Fiddler 查看 HTTP 流量。这样,您可以看到服务器返回的内容(您可以看到 HTTP 响应正文)。如果什么都没有发回,那么问题出在服务器上。如果有东西被退回,但没有显示出来,那么当然你必须检查客户。

于 2012-05-31T21:03:37.887 回答
1

我建议使用一个程序,它可以准确地向您显示在您的 ajax 调用中发送和接收的内容。我个人使用http://www.fiddler2.com/fiddler2/

如果您不想使用新程序,我会在 asp 文件中添加一些额外的代码,以验证您是否获得了预期的查询字符串。即把它们改成

Response.Write("model:" & Request.QueryString("model"))

然后将回调函数添加到 $("#imagePreview").load 以准确查看您得到的响应。

于 2012-05-31T21:17:25.930 回答