Jquery 如何从ajax请求成功函数启动react函数?

Jquery 如何从ajax请求成功函数启动react函数?,jquery,ajax,reactjs,Jquery,Ajax,Reactjs,我希望你能帮忙。 我想运行postPaymentHandler函数 单击表单提交按钮后,将调用ajax请求。表单验证,ajax请求成功 当成功函数运行时,this.paymentSuccessful(filteredCatalogue)函数触发以下错误: 未捕获类型错误:this.paymentSuccessful不是一个函数 我尝试将self变量分配给这个函数,以便函数读取self.props.postPaymentHandler(filteredCatalogue)。不走运 非常感谢您的帮助

我希望你能帮忙。 我想运行postPaymentHandler函数

单击表单提交按钮后,将调用ajax请求。表单验证,ajax请求成功

当成功函数运行时,this.paymentSuccessful(filteredCatalogue)函数触发以下错误: 未捕获类型错误:this.paymentSuccessful不是一个函数

我尝试将self变量分配给这个函数,以便函数读取self.props.postPaymentHandler(filteredCatalogue)
。不走运

非常感谢您的帮助。 谢谢
Moe

我认为你的错误是因为,这个范围,属于成功功能。如果您真的想执行付款成功,您有一些选择:

1) 将paymentSuccessful分配到变量中的success范围之外,然后它将可以运行


2) 尝试绑定ajax函数调用。

我认为您的错误是因为,范围属于成功函数。如果您真的想执行付款成功,您有一些选择:

1) 将paymentSuccessful分配到变量中的success范围之外,然后它将可以运行


2) 尝试绑定ajax函数调用。

多亏了@Codes和Tags,我才能够让它正常工作

通过将paymentSuccessful函数设置为成功函数范围之外的变量,该函数可以引用预期的道具

需要包含此帮助程序。这意味着将这个赋值给一个变量

var self=this

我尝试过的不起作用的方法是在componentDidMount函数中设置变量

        submitFormHandler(e){

             var self = this;
             e.preventDefault();
             var self = this;
             var paymentSuccessful = function(){
             self.props.postPaymentHandler();
            };

            $.ajax({
               type: 'POST',
               url: 'components/charge.php',
               data : {
                 stripeToken: token
               },
               success: (data) => {
                paymentSuccessful(); //This function works as expected
              },
               error: function(data,textStatus) {
                 console.log("Ajax Error!");
               }
             });//$.ajax
            };

多亏了@code和Tags,我才得以工作

通过将paymentSuccessful函数设置为成功函数范围之外的变量,该函数可以引用预期的道具

需要包含此帮助程序。这意味着将这个赋值给一个变量

var self=this

我尝试过的不起作用的方法是在componentDidMount函数中设置变量

        submitFormHandler(e){

             var self = this;
             e.preventDefault();
             var self = this;
             var paymentSuccessful = function(){
             self.props.postPaymentHandler();
            };

            $.ajax({
               type: 'POST',
               url: 'components/charge.php',
               data : {
                 stripeToken: token
               },
               success: (data) => {
                paymentSuccessful(); //This function works as expected
              },
               error: function(data,textStatus) {
                 console.log("Ajax Error!");
               }
             });//$.ajax
            };