ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery Ajax Post コールバック関数が実行されない場合はどうすればよいですか?

jQuery Ajax Post コールバック関数が実行されない場合はどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2021-01-20 10:49:172910ブラウズ

コールバックの JSON データ形式の問題により、コールバック関数を実行できません。jQuery Ajax Post コールバック関数が実行できない場合の解決策: JSON データには二重引用符を使用し、エスケープ文字を使用してください。エスケープ文字列。コードは [ {\"hello\":\"world\"}] です。

jQuery Ajax Post コールバック関数が実行されない場合はどうすればよいですか?

このチュートリアルの動作環境: Windows7 システム、jquery3.2.1 バージョン、DELL G3 コンピューターこの方法は、すべてのブランドのコンピューターに適しています。

#推奨: jquery ビデオ チュートリアル

##jQuery Ajax Post コールバック関数が実行されない場合の解決策:

1. フロントエンド コード

$.post('${pageContext.request.contextPath}/user_deleteUser',{uid:row.uid},function(result){
                            if (result.errorMsg){
                                $.messager.show({    
                                    title: 'Error',
                                    msg: result.errorMsg
                                });
                            } else {
                                $('#dg').datagrid('reload');    
                            }
                        },'json');

2. バックエンド コード

public String deleteUser() {
        int count = userDao.deleteUser(model.getUid());
        try {
            PrintWriter writer = response.getWriter();
            if(count<=0) writer.write("{&#39;errorMsg&#39;:&#39;删除失败&#39;}");
            else writer.write("{&#39;success&#39;:&#39;删除成功&#39;}");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

フロントエンド コードには明らかに何も問題はなく、問題もないようです。バックエンド コードに論理的な問題がありました。最終的に Baidu は、コールバックの JSON データ形式に問題があり、そのためにコールバック関数が実行できなくなったことを知りました。JSON データには二重引用符を使用する必要があることが判明しました。

我的:{&#39;hello&#39;:&#39;world&#39;}
标准:{"hello":"world"}

文字列はネストされた二重引用符で使用できないため、エスケープ文字を使用できます

{\"hello\":\"world\"}

これで完了です。


関連する無料学習の推奨事項:

js ビデオ チュートリアル

以上がjQuery Ajax Post コールバック関数が実行されない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。