1

我有一个小问题:我需要将字符串的值从函数 A 传递给函数 B,函数 B 将其作为参数并使用它。

我尝试了以下方法,但它不起作用。

   // first function (A)
   $("a#SayHello").click(function (e) {
       e.preventDefault();

       var x = function () {
               var dt = '{"ProductID": "' + $("input#ProductID").val() + '" , "AffiliationURL": "' + $("input#AffiliationURL").val() + '" , "Quantitiy": "' + $("input#Quantitiy").val() + '" , "PricePerUnit": "' + $("input#PricePerUnit").val() + '" , "commissionAmount": "' + $("input#commissionAmount").val() + '"}';
               return dt.toString();
           };
       alert(x);
       $.B(x);
   });

   // second function
   function B(dt) {

       $.ajax({
           type: 'POST',
           data: dt,
           url: 'http://localhost:4528/WebSite1/WebService.asmx/InsertCommissionRecord',
           contentType: 'application/json; charset=utf-8',
           dataType: 'json',
           success: function (data, textStatus, XMLHttpRequest) {
               alert(data.d);
               alert(XMLHttpRequest);

           },
           error: function (XMLHttpRequest, textStatus, errorThrown) {
               alert(textStatus);
           }
       });
   };
4

3 回答 3

4

我不确定,但你没有执行该功能,试试这个:

alert(x());
$.B(x());
于 2012-07-18T11:28:37.227 回答
0

代替

$.B(x);

立即调用 x() 和 B() :

B(x());


为了能够B()像这样使用:$.B()您需要将您的函数添加到 jQuery 的$

$.B = function(){...

或者

jQuery.B = function(){...

但一般不建议污染$——使用自己的命名空间要好得多。

请参见此处:在 jquery 中是否可以创建命名空间

于 2012-07-18T11:32:47.733 回答
0

尝试在没有“$.”的情况下调用 B 函数B(),就像任何简单函数一样。

此外,您可以添加一个alert(dt)内部 B() 函数,以检查参数中的数据。

于 2012-07-18T11:33:53.880 回答