Javascript jQuery未过帐数据
我在使用jQuery/AJAX正确发布数据时遇到了问题 我有以下几点Javascript jQuery未过帐数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在使用jQuery/AJAX正确发布数据时遇到了问题 我有以下几点 <script type="text/javascript"> function notifyPPAComplete() { $.ajax( { type: "POST", url: "PsychometricTest.aspx/UpdateDB", data: {'3'}, dataType: json,
<script type="text/javascript">
function notifyPPAComplete() {
$.ajax(
{
type: "POST",
url: "PsychometricTest.aspx/UpdateDB",
data: {'3'},
dataType: json,
success: success,
contentType: application/json
});
}
$.post('PsychometricTest.aspx/UpdateDB', function(data) {
alert ('success');
});
</script>
函数notifyppapcomplete(){
$.ajax(
{
类型:“POST”,
url:“PsychometricTest.aspx/UpdateDB”,
数据:{3'},
数据类型:json,
成功:成功,
contentType:application/json
});
}
$.post('PsychometricTest.aspx/UpdateDB',函数(数据){
警惕(“成功”);
});
我似乎也没有收到发帖后的提醒,有人能看到明显的问题吗
<script type="text/javascript">
function notifyPPAComplete() {
$.ajax(
{
type: "POST",
url: PsychometricTest.aspx/UpdateDB,
data: {'3'},
dataType: json,
success: function(success){a = success},<-- here use the function()
contentType: application/json
});
}
$.post('PsychometricTest.aspx/UpdateDB', function(data) {
alert (data); <-- here use the variable not the literal string
});
</script>
函数notifyppapcomplete(){
$.ajax(
{
类型:“POST”,
url:PsychometricTest.aspx/UpdateDB,
数据:{3'},
数据类型:json,
success:function(success){a=success},
函数notifyppapcomplete(){
$.ajax(
{
类型:“POST”,
url:PsychometricTest.aspx/UpdateDB,
数据:{3'},
数据类型:json,
success:function(success){a=success},
这是无效的javascript文本。您可以这样尝试:
data: JSON.stringify({ model: { foo: '3' } })
请注意JSON.stringify
方法的用法,该方法将javascript文本序列化为JSON字符串。它本机内置于现代浏览器中。如果您需要支持传统浏览器,您可以包含该脚本
而且contentType:application/json
是非常无效的javascript。应该是:
contentType: 'application/json'
另外:dataType:json
无效。应为dataType:'json'
因此,在一天结束时:
<script type="text/javascript">
function notifyPPAComplete() {
$.ajax({
type: "POST",
url: "PsychometricTest.aspx/UpdateDB",
data: JSON.stringify({ model: { foo: '3' } }),
dataType: 'json',
success: function(result) {
},
contentType: 'application/json'
});
}
</script>
其中MyModel:
public class MyModel
{
public string Foo { get; set; }
}
这是无效的javascript文本。您可以这样尝试:
data: JSON.stringify({ model: { foo: '3' } })
请注意JSON.stringify
方法的用法,该方法将javascript文本序列化为JSON字符串。它本机内置于现代浏览器中。如果您需要支持传统浏览器,您可以包含该脚本
而且contentType:application/json
是非常无效的javascript。应该是:
contentType: 'application/json'
另外:dataType:json
无效。应为dataType:'json'
因此,在一天结束时:
<script type="text/javascript">
function notifyPPAComplete() {
$.ajax({
type: "POST",
url: "PsychometricTest.aspx/UpdateDB",
data: JSON.stringify({ model: { foo: '3' } }),
dataType: 'json',
success: function(result) {
},
contentType: 'application/json'
});
}
</script>
其中MyModel:
public class MyModel
{
public string Foo { get; set; }
}
在您的代码段中,notifyppapcomplete()
永远不会被调用,$.post('PsychometricTest.aspx/UpdateDB
不会发布任何数据
还可以尝试在Firefox中使用,以更好地进行AJAX调试
应该是:
$.post('PsychometricTest.aspx/UpdateDB', { name: "John", time: "2pm" }, function(data) {
alert ('success');
});
其中,{name:“John”,time:“2pm”}
是您要发布的数据。在您的代码段中,notifyppapcomplete()
从不被调用,$.post('Psychormometrictest.aspx/UpdateDB
不发布任何数据
还可以尝试在Firefox中使用,以更好地进行AJAX调试
应该是:
$.post('PsychometricTest.aspx/UpdateDB', { name: "John", time: "2pm" }, function(data) {
alert ('success');
});
其中{name:“John”,time:“2pm”}
是您要发布的数据。第6行中应该会出现语法错误,您缺少引号是的,调用该函数时就像我在$.ajax之前添加了一个警报一样。这很有效,啊,对不起,我现在就添加它们。第6行中应该会出现语法错误,您缺少引号是的,调用该函数时就像我在之前添加了警报一样re$.ajax可以工作,啊,很抱歉我现在添加它们。你是对的,OP的数据参数格式不正确,但你不需要对数据参数进行字符串化。你可以将字符串或对象作为数据传递,jQuery将做正确的事情。@JAAulde,事实上你需要进行字符串化。ASP.NET就是这样工作的。他们希望有一个JSON请求。当然OP应该有e可能在他的问题中解释说他正在使用ASP.NET,并且他正在尝试调用PageMethod,因为这一事实对于不使用ASP.NET的人来说可能并不明显。OP应该在他的问题中使用适当的标记来清楚地说明他的情况。如果不这样做,他的问题对于不熟悉ASP.NET的人来说就完全没有意义了。我的缺点是ole抛出错误,“无效的web服务调用,参数:'model'缺少值”。@Liam,我已更新了答案。请尝试使用data:JSON.stringify({model:{foo:'3'})
@DarinDimitrov-Hmmm,我在OP中没有看到任何关于ASP的内容,但我确实在他的URL中看到了,因为你提到了它。我对ASP一无所知,但如果某些服务器代码需要JSON序列化的输入集,那么你就必须进行字符串化。我只是说这不是jQuery本身的要求。你说的没错,OP的dat参数的格式不正确,但您不需要对数据参数进行字符串化。您可以将字符串或对象作为数据传递,jQuery将做正确的事情。@JAAulde,事实上您需要进行字符串化。ASP.NET就是这样工作的。他们需要一个JSON请求。当然,OP应该在他的问题中解释说,他正在使用ASP.NET,他正在尝试调用PageMethod,因为这一事实对于不使用ASP.NET的人来说可能并不明显。OP应该在他的问题中使用适当的标记来清楚地说明他的情况。如果不这样做,他的问题对不熟悉ASP.NET的人来说就完全没有意义了。我的控制台抛出了错误,“无效的web服务调用,缺少参数值:'model'。”@Liam,我已更新了答案。请尝试使用data:JSON.stringify({model:{foo:'3'})
@DarinDimitrov-Hmmm,我在OP中没有看到任何关于ASP的内容,但我确实在他的URL中看到了,因为你提到了它。我对ASP一无所知,但如果某些服务器代码需要JSON序列化的输入集,那么你就必须进行字符串化。我只是说这不是jQuery本身的要求。然后接受这个问题或是说:I’你到底需要什么?然后接受这个问题,或者告诉我你到底需要什么