我正在尝试在vuex中创建动作,该动作具有方法goLogin
,其参数为电子邮件和密码的对象,在这种情况下,我正在使用 Nuxt < / strong>,当我尝试在组件中使用抓取功能时, 调度 可以与该 params 一起很好地工作,但是当我尝试移动它时作为 @click 的方法,调度参数为空,因为我在action方法内进行控制台日志,它不是空的,但是当它到达后端API时,后端API将其读取为空
这是我的动作: 在store / login.js
中export const actions = {
goLogin({ commit }, obj) {
// I console.log the obj here, it was not null
return LoginService.tryLogin(obj).then((res) => {
commit("IS_LOGIN", res.data);
}).catch(e => {
commit("IS_LOGIN", e.response.data);
})
}
}
LoginService是从实例axios获得的,就像这样
tryLogin(obj) {
// I console.log the obj here, it was not null
return goAxios.get("/login", {
data : obj,
})
}
在我的@click登录组件方法中
async tryLoginFromComponent() {
await this.$store.dispatch("login/goLogin",{
"email": "test@gmail.com",
"password": "12345678",
})
},
当我单击登录时,tryLoginFromComponent
的方法将运行,并且它将在store / login.js中生效
但是该参数的obj在后端为空,以为我的console.log不是,
我上面做的事有问题吗?我一整天都在尝试搜索,但是找不到适合我的工作,希望这里的每个人都可以节省我的时间
答案 0 :(得分:0)
您不必异步调用tryLoginFromComponent
,因为actions
已经异步。也许有问题。
答案 1 :(得分:0)
import cv2
import pytesseract,csv,re,os
from PIL import Image
from ast import literal_eval
img = pytesseract.image_to_string(Image.open("test1.png"), lang="eng")
print(img)
with open('C:\\Users\\Hasan\\Videos\\Captures\\saved.csv', "w") as outfile:
writer = csv.writer(outfile)
writer.writerow(img)
string = open('C:\\Users\\Hasan\\Videos\\Captures\\saved.csv').read()
new_str = re.sub('[^a-zA-z0-9\n\.]', ' ', string)
open('C:\\Users\\Hasan\\Videos\\Captures\\saved.csv', "w").write(new_str)
# f = open("saved.csv", "r")
# read = f.readline()
# print("\n" + f.read())
with open('C:\\Users\\Hasan\\Videos\\Captures\\saved.csv') as sv:
for line in sv:
if img in line:
print("Data already exists")
else:
print("file saved successfully")
无需在此处将电子邮件和密码放在双引号中。那是一个对象,而不是JSON键值对。试试吧。