Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Ajax 如何将此php脚本转换为经典asp_Ajax_Asp Classic - Fatal编程技术网

Ajax 如何将此php脚本转换为经典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

我正在尝试转换一个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>
<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实例)。