jquery ajax typeerror,jQuery ajax未捕获TypeError:非法调用

博客讨论了一个在使用jQuery AJAX进行文件上传时遇到的TypeError问题。问题在于即使数据对象只包含原始值,调用仍然失败。作者提供了一个`ImageUploader`函数的示例,该函数用于异步上传图片并将其数据发送到PHP脚本。错误出现在AJAX的`success`参数中,可能是因为直接使用了`alert`。解决方案是将`success`回调函数包裹在一个实际的函数中。
摘要由CSDN通过智能技术生成

我在这个问题上读过的所有帖子都是因为传递的对象包含其他对象而不是原始值。jQuery ajax未捕获TypeError:非法调用

我的数据对象是所有原始值,但它仍然不起作用。

下面的代码:

function ImageUploader(imgEl, params) {

this.imgEl = imgEl;

this.params = params;

this.params["Function"] = "saveImage";

}

// send data from asynchronously uploaded image (as image URI)

// to PHP script which will write data to file

ImageUploader.prototype.uploadImage = function() {

var iu = this;

var fileReader = new FileReader();

fileReader.onload = function (e) {

iu.params["Image"] = e.target.result;

console.log(iu.params);

$.ajax({

type: "POST",

url: "/scripts/php/Form.php",

data: iu.params,

success: alert,

error: function (jqXHR, status, error) {

console.log(error, this);

}

});

};

this.params["FileName"] = this.imgEl.files[0].fileName || this.imgEl.files[0].name;

fileReader.readAsDataURL(this.imgEl.files[0]);

};

下面是一个例子对象,它拒绝:

{

FileName: "Matrix.jpg",

Function: "saveImage",

ID: 10,

Image: "data:image/jpeg;base64,...",

Line: 1,

Name: "Test Form"

}

2015-01-06

KthProg

+1

你的问题可能是'成功:警报'行。你为什么这样做?尝试做成功:功能(数据){警报(数据); }' –

+0

@RocketHazmat你是对的,但那有点奇怪,因为它以前很好。它们应该是等价的。无论如何,谢谢。 –

+1

@KthProg:主机提供的功能不一定是真正的功能,跨浏览器。一般最好把它们包起来。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值