如何使用ajax调用接收更多data.values?

时间:2014-06-24 12:59:41

标签: ajax asp-classic

我有一个使用Ajax调用调用的asp文件,我希望接收值为字符串(响应)和整数(iNumberOfSomething)。 "响应"价值已经有效。但是如何将整数值添加到我的ajax调用中,所以我可以使用整数值?

myAjax.asp
...
sSQL = "dbo.MyFunction"

set oRs = MyFunction(sSQL)

if not oRs.eof then
    iNumberOfSomething = cdbl(oRs("setting"))
end if
...
response.write "MyValue"

我的ajax电话是:

$.ajax({
  cache: false,
  type: "POST",
  url: 'myAjax.asp',
  data: {
     Value1: value.toString(),
     MyId: '<%= ID %>',
  },
  dataType: "json",
  success: function(data) {
  var sMessage = '';
  ...
  if (data == "MyValue") {
    ...
  }

  if (data.iNumberOfSomething === 1) {
    ...
  }

1 个答案:

答案 0 :(得分:1)

您有几个选择。您可以更改ASP脚本以返回JSON或XML,也可以进行更简单的更改以将结果作为逗号分隔列表(或制表符或其他分隔符)返回。以下是如何执行后续选项的示例。

myAjax.asp
...
sSQL = "dbo.MyFunction"

set oRs = MyFunction(sSQL)

if not oRs.eof then
    iNumberOfSomething = cdbl(oRs("setting"))
end if
...
response.write "MyValue,AnotherValue,YetAnotherValue" 'Changed this line

你的ajax电话:

$.ajax({
  cache: false,
  type: "POST",
  url: 'myAjax.asp',
  data: {
     Value1: value.toString(),
     MyId: '<%= ID %>',
  },
  dataType: "json",
  success: function(data) {
  var sMessage = '';
  ...

  //New code added here
  var results = data.split(",");

  if (results[0] == "MyValue") {
    ...

    alert(results[1]);
    alert(results[2]);
  }

  if (data.iNumberOfSomething === 1) {
    ...
  }

根据您的需要,您可能希望在那里添加一些支票以确保出现正确数量的值。

如果您想使用JSON路由器,那么您可以使用类似ASPJSON

的内容