java项目中使用angularjs1.X,解决微信内置h5支付授权目录配置

在项目中使用angularjs1.X,在微信内置浏览器中使用微信支付,授权目录配置总出现XXXXXX#/XXXXX.html/XXXX未注册,想了很多办法,最终解决了,现在记录一下

1、直接后台重定向

 

  var pay ="http://127.0.0.1/XXXX/mobilePay?id="+$scope.id
  window.location.href=pay;
mobilePay控制层实现重定向到你的支付页面
 
response.sendRedirect("http://127.0.0.1/shopxx/mobile/index.html#/payment/"+id);
这个方法可以解决问题,但是微信ios版本的6.5.6不知为何有少部分人还是不能支付

2、去除angularjs1.X URL中#,重新配置授权目录,同时刷新也不会出现404

1)可以使用nginx
2)使用webServer转发

我们先修改 angularjs1项目,开启html5模式

app.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);
}]);
编辑 index.html,增加base标签

<html  ng-app="app">
<head>
    <base href="/">  //目录请根据自己的实际项目配置,错误的时候不能正常加载js等文件
</head>
1)使用nginx

用到的是try_files,修改nginx的配置文件,增加try_files配置,因对nginx不怎么熟悉,本身服务器上配置了负载均衡等,不想再去修改配置文件(同样需要更具自己的项目修改路径),所以只再本地尝试了一下

server {
    server_name localhost;
    root /;
    location / {
        try_files $uri $uri/ /index.html;
    }
}

2)使用webServer转发

懒得自己写拦截器,网上搜了一下UrlRewriteFilter还不错

下载相应jar包并引入

 在WEB-INF/web.xml配置文件中加入拦截器

<filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>//根据自己的项目修改,不是所有目录都需要拦截,不过全拦截也无所谓,转发规则文件配置中可以再去除
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>
在WEB-INF新建“urlrewrite.xml”转发规则文件

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
    "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
<urlrewrite>
   <rule>
      <from>mobile/[a-zA-Z]+(/([a-zA-Z]|[0-9])*)*$</from>//正则表达式,根据需求自己再改改
      <to>/mobile/index.html</to>
   </rule>
</urlrewrite>



            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值