Ajax 如何将此php脚本转换为经典asp
我正在尝试转换一个PHP/JQuery可排序拖放脚本。我想将JQuery可排序功能添加到我用经典ASP编写的站点 以下是脚本的缩小版本:Ajax 如何将此php脚本转换为经典asp,ajax,asp-classic,Ajax,Asp Classic,我正在尝试转换一个PHP/JQuery可排序拖放脚本。我想将JQuery可排序功能添加到我用经典ASP编写的站点 以下是脚本的缩小版本: <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="js/jquery-ui-1.7.1.custom.min.js"></script> <scr
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.1.custom.min.js"></script>
<script type="text/javascript">
// When the document is ready set up our sortable with it's inherant function(s)
$(document).ready(function() {
$("#test-list").sortable({
handle : '.handle',
update : function () {
var order = $('#test-list').sortable('serialize');
$("#info").load("process-sorttest.asp?"+order);
alert('' + order);
}
});
});
</script>
<li id="listItem_1"><img src="img/arrow.png" alt="move" width="16" height="16" class="handle" /><strong>Item 1</strong></li>
<li id="listItem_2"><img src="img/arrow.png" alt="move" width="16" height="16" class="handle" /><strong>Item 2</strong></li>
这是我能在经典asp中获得的最接近的结果:
For Each Item In Request.QueryString
Response.write "Processing: " & Request.QueryString("listItem[]") & "<br />"
Next
Request.QueryString中每个项目的
Response.write“处理:&Request.QueryString(“listItem[]”)和“
”
下一个
这将为我提供正在修改的菜单项的ID,但是我想要转换此脚本的原因是PHP脚本读取并打印排序的新顺序和列表项的ID。
我的asp打印的所有内容都是列表项“处理1,2”的ID
非常感谢您的帮助。ASP中的“For Each…Next”结构如下所示:
For Each <itemvar> In <collectionvar>
...
Next
中的每个
...
下一个
循环的每次迭代都会将collectionvar中的一项放入变量itemvar(两者都是实际变量/值的占位符)。当前,您的循环正在访问Request.QueryString(“listItem[]),无论您在循环的哪个迭代中,它都是相同的。相反,您需要使用在For Each循环中定义的“Item”变量来处理每次循环中的不同项。ASP中的“For Each…Next”结构的工作原理如下:
For Each <itemvar> In <collectionvar>
...
Next
中的每个
...
下一个
循环的每次迭代都会将collectionvar中的一项放入变量itemvar(两者都是实际变量/值的占位符)。当前,您的循环正在访问Request.QueryString(“listItem[]),无论您在循环的哪个迭代中,它都是相同的。相反,您需要使用在For Each循环中定义的“Item”变量在每次循环中处理不同的项目。尝试类似的方法,它不完美,但可能会有帮助尝试类似的方法,它不完美,但可能会有帮助不是对您的问题的真正答案,但链接很吸引评论: 您的PHP代码似乎存在漏洞。您可能需要仔细阅读,以确保在ASP中不会犯同样的错误
归根结底,您不应该假设用户输入是安全的。您直接从查询字符串中提取变量,并假设它们是数字。事实上,它们可能是部分SQL语句。并不是对您的问题的真正回答,但链接在注释中很糟糕: 您的PHP代码似乎存在漏洞。您可能需要仔细阅读,以确保在ASP中不会犯同样的错误
归根结底,您不应该假设用户输入是安全的。您直接从查询字符串中提取变量,并假设它们是数字。事实上,它们可能是部分SQL语句。您是否尝试了
Request.QueryString(Item)
而不是Request.QueryString(“listItem[])
对于请求中的每个项目,循环
。QueryString
不会为列表项[]
生成任何内容,当然,heck也不会为列表项[]“
您是否尝试过请求。QueryString(项目)
而不是请求。QueryString(“列表项[]”)
对于请求中的每个项目,循环
。QueryString
不会为列表项[]
生成任何内容,当然,heck也不会为列表项[]“
生成任何内容。您的意思是这样的:对于请求中的每个项目。QueryString(“列表项[]”)响应。编写“处理:”&Item&“nexthanks Dav,非常感谢您的帮助。您的意思是:对于请求中的每个项目。QueryString(“listItem[])Response.write“Processing:&Item&“
”NextHanks Dav,非常感谢您的帮助。Jason,您回答问题(或得到答案)的能力与您花时间缩减有关。删减(或括号)问题,去掉JQuery部分(工作正常),只在服务器端运行一些测试(使用blah.asp?item=which从浏览器发送查询字符串)。。。很明显,你的For-Each很有效,但是你的Reuqest.Querystring没有选择正确的项目。开始挖掘(否则我将不得不启动一个IIS实例)。Jason,你回答问题(或得到答案)的能力与你花时间缩减有关。删减(或括号)问题,去掉JQuery部分(工作正常),只在服务器端运行一些测试(使用blah.asp?item=which从浏览器发送查询字符串)。。。很明显,你的For-Each很有效,但是你的Reuqest.Querystring没有选择正确的项目。开始挖掘(否则我将不得不启动IIS实例)。